.auth-shell{--auth-inset:8px;--auth-cover:1100ms;--auth-ease:cubic-bezier(0.65,0,0.35,1);display:grid;min-height:100dvh;grid-template-columns:minmax(0,1fr);grid-template-rows:40dvh minmax(0,1fr);padding:var(--auth-inset);background:var(--chrome);color:var(--chrome-foreground);transition:grid-template-rows var(--auth-cover) var(--auth-ease),grid-template-columns var(--auth-cover) var(--auth-ease)}.auth-shell[data-route=signup]{grid-template-rows:22dvh minmax(0,1fr)}.auth-stage{position:relative;isolation:isolate;min-height:0;overflow:hidden;order:-1;border-radius:var(--radius-xl);background:var(--chrome-accent)}.auth-stage-drift,.auth-stage-photo,.auth-stage-photos,.auth-stage-shift{position:absolute;inset:0}.auth-stage-drift img{object-fit:cover}.auth-stage-tint{position:absolute;z-index:2;inset:0;background:var(--brand-deep);opacity:.32;mix-blend-mode:multiply}.auth-stage-photos{z-index:0}.auth-stage-photo[data-phase=in]{z-index:1}.auth-stage-photo{overflow:hidden;background:var(--chrome);will-change:clip-path}.auth-stage-shift{position:absolute;inset:0}.auth-stage-intro{position:absolute;bottom:0;left:0;display:none;max-width:min(36rem,78%);flex-direction:column;gap:12px;padding:28px 36px 24px 28px;border-top-right-radius:var(--radius-xl);background:var(--chrome);color:var(--chrome-foreground);transition:opacity .5s ease,transform var(--auth-cover) var(--auth-ease)}.auth-stage-title{margin:0;font-family:var(--font-heading);font-size:clamp(2.25rem,1.4rem + 2.4vw,3.5rem);font-weight:700;line-height:1.02;letter-spacing:-.03em;text-wrap:balance}.auth-stage-lede{margin:0;max-width:30rem;font-size:1.0625rem;line-height:1.5;color:var(--chrome-foreground)}.auth-shell[data-route=signup] .auth-stage-intro{opacity:0;transform:translateX(24px);pointer-events:none}.auth-stage-footer{position:absolute;inset:auto 12px 40px;display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-stage-caption{margin:0;min-width:0;padding:6px 12px;overflow:hidden;border-radius:var(--radius-pill);corner-shape:round;background:var(--chrome);color:var(--chrome-foreground);font-size:.8125rem;font-weight:500;white-space:nowrap;text-overflow:ellipsis}@media (max-width:400px){.auth-stage-caption{white-space:normal;text-overflow:clip;border-radius:var(--radius-panel,12px)}}.auth-stage-caption-text{display:inline-block;animation:auth-rise 1.2s var(--auth-ease) both}.auth-stage-dots{display:flex;flex-shrink:0;gap:6px;padding:0 10px;border-radius:var(--radius-pill);corner-shape:round;background:var(--chrome)}.auth-stage-dot{position:relative;width:18px;height:24px;padding:10px 0;overflow:hidden;border:0;border-radius:var(--radius-pill);corner-shape:round;background:var(--chrome-border) content-box;cursor:pointer;transition:width .4s var(--auth-ease),background-color .2s ease}.auth-stage-dot[aria-current]{width:36px}.auth-stage-dot:hover{background:var(--chrome-muted-foreground) content-box}.auth-stage-dot:focus-visible{outline:2px solid var(--brand-light);outline-offset:3px}.auth-stage-dot-fill{position:absolute;inset:10px 0;border-radius:inherit;background:var(--brand-light);transform-origin:left;animation:auth-dot-fill linear both}@keyframes auth-dot-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.auth-panel{--control-height-md:2.75rem;--control-height-lg:3rem;position:relative;z-index:1;display:flex;min-width:0;flex-direction:column;margin-top:-28px;border-radius:var(--radius-xl);background:var(--background);color:var(--foreground);animation:auth-sheet .7s var(--auth-ease) both}.auth-panel-header{display:flex;align-items:center;gap:10px;padding:20px 20px 0}.auth-wordmark{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;letter-spacing:-.01em}.auth-panel-body{display:flex;flex:1;align-items:center;justify-content:center;padding:28px 20px 40px}.auth-panel-content{display:flex;width:100%;max-width:400px;flex-direction:column;gap:24px}.auth-shell[data-route=signup] .auth-panel{animation:none}@keyframes auth-sheet{0%{transform:translateY(32px);opacity:0}to{transform:none;opacity:1}}@media (min-width:1024px){.auth-shell{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:var(--auth-inset)}.auth-shell,.auth-shell[data-route=signup]{grid-template-rows:minmax(0,1fr)}.auth-stage{order:0;position:sticky;top:var(--auth-inset);height:calc(100dvh - 2 * var(--auth-inset))}.auth-stage-intro{display:flex}.auth-stage-footer{inset:16px 16px auto auto}.auth-panel{margin-top:0;animation-name:auth-slide}.auth-shell[data-route=signup] .auth-panel{animation:none}.auth-panel-header{padding:28px 32px 0}.auth-panel-body{padding:40px 32px 64px}}@keyframes auth-slide{0%{transform:translateX(-40px);opacity:0}to{transform:none;opacity:1}}.auth-rise>*{animation:auth-rise .56s var(--auth-ease,ease) both}.auth-rise>:nth-child(2){animation-delay:50ms}.auth-rise>:nth-child(3){animation-delay:.1s}.auth-rise>:nth-child(4){animation-delay:.15s}.auth-rise>:nth-child(n+5){animation-delay:.2s}@keyframes auth-rise{0%{transform:translateY(10px);opacity:0;filter:blur(2px)}to{transform:none;opacity:1;filter:none}}@media (prefers-reduced-motion:reduce){.auth-shell,.auth-stage-dot,.auth-stage-intro{transition:none}.auth-panel,.auth-rise>*,.auth-stage-caption-text{animation:none}}.auth-heading[tabindex="-1"]:focus{outline:none}.auth-heading{margin:0;font-family:var(--font-heading);font-size:clamp(1.625rem,1.2rem + 1vw,2rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.auth-subheading{margin:0;color:var(--muted-foreground)}.auth-stop{display:flex;flex-direction:column;gap:16px}.auth-stop-message{margin:0;padding:12px 16px;border-radius:var(--radius-lg);background:color-mix(in oklab,var(--destructive) 10%,var(--background));color:var(--foreground)}.auth-stop[data-tone=info] .auth-stop-message{background:var(--muted)}.auth-stop-subject{margin:0;font-size:var(--text-sm);font-weight:600;overflow-wrap:anywhere}.auth-entry,.auth-entry-form,.auth-provider-choice{display:flex;flex-direction:column;gap:16px}.auth-entry{gap:24px}.auth-entry-intro,.auth-provider-email{display:flex;flex-direction:column;gap:6px}.auth-status-note{margin:0;min-height:1.25rem;font-size:.875rem;color:var(--muted-foreground);text-align:center}.auth-spinner{display:inline-block;flex:none;width:14px;height:14px;border:1.5px solid;border-right:1.5px solid transparent;border-radius:50%;corner-shape:round;animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.auth-spinner{animation-duration:2s}}.auth-session-check{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding-block:48px;font-size:.875rem;color:var(--muted-foreground)}.auth-email-chip{display:grid;grid-template-columns:minmax(0,1fr)}.auth-email-chip-label{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:500;line-height:var(--leading-body)}.auth-email-chip-box{display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;height:var(--control-height-md);padding:0 4px 0 16px;border:1px solid var(--border);border-radius:var(--radius-field,12px);corner-shape:round;background:var(--surface-muted);position:relative;z-index:1}.auth-email-chip-box>button{flex:none}.auth-email-chip-address{display:flex;min-width:0;font-size:var(--text-sm);font-weight:500;white-space:nowrap}.auth-email-chip-local{min-width:0;overflow:hidden;text-overflow:ellipsis}.auth-email-chip-domain{flex:none}.auth-email-chip{--chip-tab-bg:color-mix(in oklab,var(--primary) 13%,var(--background));--chip-tab-edge:color-mix(in oklab,var(--primary) 32%,var(--border));--chip-tab-ink:var(--primary)}.dark .auth-email-chip{--chip-tab-bg:color-mix(in oklab,var(--brand) 14%,var(--background));--chip-tab-edge:color-mix(in oklab,var(--brand) 38%,var(--border));--chip-tab-ink:var(--brand-light)}.auth-email-chip-shelf{margin-top:-1px;padding-inline:24px;overflow:hidden;animation:auth-chip-shelf .42s var(--auth-ease) both}.auth-email-chip-tab{position:relative;display:flex;align-items:center;gap:6px;min-width:0;padding:6px 12px 7px 10px;border:1px solid var(--chip-tab-edge);border-top:0;border-radius:0 0 var(--radius-field,12px) var(--radius-field,12px);background:var(--chip-tab-bg);color:var(--chip-tab-ink);font-size:.8125rem;font-weight:500;line-height:1.35;animation:auth-chip-tab .42s var(--auth-ease) both}.auth-email-chip-school{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-email-chip-tab-icon{flex:none;animation:auth-chip-check .32s var(--auth-ease) .26s both}.auth-email-chip-tab-corner{position:absolute;top:0;width:11px;height:10px;overflow:visible}.auth-email-chip-tab-corner[data-side=start]{left:-11px}.auth-email-chip-tab-corner[data-side=end]{right:-11px;transform:scaleX(-1)}.auth-email-chip-tab-corner-fill{fill:var(--chip-tab-bg)}.auth-email-chip-tab-corner-edge{fill:none;stroke:var(--chip-tab-edge);stroke-width:1}@keyframes auth-fade{0%{opacity:0}to{opacity:1}}@keyframes auth-chip-shelf{0%{max-height:0}to{max-height:3rem}}@keyframes auth-chip-tab{0%{transform:translateY(-100%)}to{transform:none}}@keyframes auth-chip-check{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.auth-email-chip-shelf,.auth-email-chip-tab,.auth-email-chip-tab-icon{animation:auth-fade .15s ease both}}.auth-hub{gap:16px;width:100%}.auth-hub,.auth-hub-options{display:flex;flex-direction:column}.auth-hub-options{gap:12px}.auth-hub-divider{display:flex;align-items:center;gap:12px;font-size:.8125rem;color:var(--muted-foreground)}.auth-hub-divider:after,.auth-hub-divider:before{content:"";flex:1;height:1px;background:var(--border)}.auth-hub-meta{justify-content:center;gap:6px;margin:0;font-size:.8125rem;color:var(--muted-foreground)}.auth-hub-email,.auth-hub-meta{display:flex;align-items:center}.auth-hub-email{flex-direction:column;gap:4px}.auth-provider-address{margin:0;font-weight:600;overflow-wrap:anywhere}.auth-provider-institution{color:var(--foreground);font-weight:600}.auth-teammate{display:flex;flex-direction:column;gap:16px;min-width:0;margin:0;padding:0;border:0}.auth-teammate>legend{padding:0;margin-bottom:8px}.auth-field-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.auth-field-label{font-size:.875rem;font-weight:600;color:var(--foreground)}.auth-hint{font-size:.8125rem;color:var(--muted-foreground)}.auth-field-error{margin:0;font-size:.8125rem;color:var(--destructive)}.auth-switch{text-align:center;font-size:.875rem}.auth-switch a{color:var(--foreground);font-weight:600;text-decoration:underline;text-underline-offset:3px}.auth-headshot,.auth-majors-loading,.auth-textarea{display:flex;flex-direction:column;gap:8px}.auth-textarea-input{width:100%;min-height:120px;padding:10px 12px;border:1px solid var(--border-strong,var(--border));border-radius:var(--radius-field,12px);corner-shape:round;background:var(--surface,var(--background));color:var(--foreground);font:inherit;font-size:var(--text-sm);line-height:var(--leading-body);resize:vertical;outline:none;transition:border-color .15s ease}.auth-textarea-input::placeholder{color:var(--text-muted,var(--muted-foreground))}@media (hover:hover) and (pointer:fine){.auth-textarea-input:hover{border-color:var(--foreground)}}.auth-textarea-input:focus-visible{border-color:var(--foreground)}.auth-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.auth-options{display:flex;flex-direction:column;gap:8px}.auth-options[data-layout=chips]{flex-direction:row;flex-wrap:wrap}.auth-option{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-field,12px);corner-shape:round;background:var(--surface,var(--background));color:var(--foreground);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.auth-option>[data-arc-checkbox-mark]{flex:none}.auth-options[data-layout=chips] .auth-option{padding:10px 14px 10px 12px;border-radius:var(--radius-pill);corner-shape:round}@media (hover:hover) and (pointer:fine){.auth-option:hover{border-color:var(--border-strong,var(--foreground))}}.auth-option[data-checked]{border-color:var(--primary);background:color-mix(in oklab,var(--primary) 10%,var(--surface,var(--background)))}.auth-option:has(:focus-visible){outline:2px solid var(--ring);outline-offset:2px}.auth-option:has(:disabled){cursor:not-allowed;opacity:.5}.auth-option-radio{flex:none;width:18px;height:18px;border:1px solid var(--border-strong,var(--border));border-radius:50%;corner-shape:round;background:var(--surface,var(--background));transition:border-width .15s ease,border-color .15s ease}.auth-option[data-checked] .auth-option-radio{border:5px solid var(--primary)}.auth-option-text{display:flex;min-width:0;flex-direction:column;gap:2px}.auth-option-label{font-size:var(--text-sm);font-weight:500}.auth-option-description,.auth-textarea-meta{font-size:.8125rem;color:var(--muted-foreground)}.auth-textarea-meta{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}.auth-headshot-row{display:flex;align-items:center;gap:16px}.auth-headshot-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:128px;padding:16px;border:1.5px dashed var(--border);border-radius:var(--radius-panel,12px);color:var(--muted-foreground);cursor:pointer;text-align:center;transition:border-color .15s ease,background-color .15s ease}.auth-headshot-drop:focus-within,.auth-headshot-drop:hover,.auth-headshot-drop[data-state=uploading]{border-color:var(--brand);background:color-mix(in oklab,var(--brand) 6%,transparent)}.auth-headshot-drop[data-state=error]{border-color:var(--destructive)}.auth-headshot-drop[data-state=disabled]{cursor:not-allowed;opacity:.5;border-color:var(--border);background:transparent}.auth-records{gap:12px}.auth-record-list,.auth-records{display:flex;flex-direction:column}.auth-record-list{gap:8px;margin:0;padding:0;list-style:none}.auth-record{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-panel,12px);background:var(--background);color:var(--foreground);text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.auth-record:focus-visible,.auth-record:hover{border-color:var(--brand);background:var(--muted)}.auth-record[data-variant=new]{border-style:dashed}.auth-record-title{font-weight:600}.auth-institution{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:var(--radius-panel,12px);background:var(--muted)}.auth-institution-name{font-weight:600}.auth-shell[data-route=signup] .auth-panel-body{align-items:stretch}.auth-shell[data-route=signup] .auth-panel-content{flex:1}.auth-signup{flex:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:32px;min-height:100%}.auth-signup-body{min-width:0}.auth-action-bar{position:sticky;bottom:0;z-index:1;display:grid;grid-template-columns:7rem minmax(0,1fr);gap:12px;align-items:start;margin-inline:-4px;padding:12px 4px max(4px,env(safe-area-inset-bottom));background:var(--background)}@media (max-width:1023px){.auth-action-bar{border-top:1px solid var(--border)}.auth-signup .auth-signup-body{mask-image:none}}.auth-signup-body:has([data-side]){position:relative;z-index:2}.auth-signup [data-side=bottom]{scroll-margin-bottom:96px}.auth-action-bar:has(>[data-slot=back]:empty){grid-template-columns:minmax(0,1fr)}.auth-action-bar:has(>[data-slot=back]:empty)>[data-slot=back]{display:none}.auth-signup[data-signed-in]{grid-template-rows:auto auto minmax(0,1fr) auto}.auth-signed-in{margin:0 0 -16px;text-align:end}.auth-signed-in-email{overflow-wrap:anywhere}.auth-signed-in a{white-space:nowrap;color:var(--foreground);font-weight:500;text-decoration:underline;text-underline-offset:3px}.auth-action-bar-back,.auth-action-bar-primary{display:flex;min-width:0;flex-direction:column;gap:8px}.auth-action-bar-back>button{width:100%}@media (min-width:1024px){.auth-shell[data-route=signup]{height:100dvh}.auth-shell[data-route=signup] .auth-panel{overflow:hidden}.auth-shell[data-route=signup] .auth-panel-body{min-height:0;padding-bottom:32px}.auth-shell[data-route=signup] .auth-panel-content,.auth-shell[data-route=signup] .auth-signup{min-height:0}.auth-signup-body{min-height:0;overflow-x:clip;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain;margin-inline:-8px;padding-inline:8px}.auth-action-bar{position:static}}.auth-morph{position:relative}.auth-morph-step{width:100%}.auth-question{display:flex;flex-direction:column;gap:24px}.auth-question-actions{display:flex;flex-direction:column;gap:8px}.auth-eyebrow{font-size:.8125rem;font-weight:600;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.auth-choice{display:flex;flex-direction:column;gap:10px}