.auth-page{background:var(--mm-desk);min-height:100svh;color:var(--mm-ink);font-family:var(--font-manrope), sans-serif;justify-content:center;align-items:center;padding:.75rem;display:flex}.auth-layout{grid-template-columns:minmax(0,1fr);place-content:center stretch;align-items:stretch;gap:.75rem;display:grid}.auth-shell-main{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;min-width:0;padding:1.25rem 0;display:flex}.auth-shell-content{background:var(--mm-surface);border:1px solid var(--mm-border);width:min(100%,27.5rem);min-width:0;box-shadow:0 1px 2px var(--mm-shadow-1);overflow-wrap:anywhere;border-radius:1.375rem;padding:2rem}.auth-student-note{width:min(100%,27.5rem);color:var(--mm-ink-4);text-align:center;font:500 .75rem/1.6 var(--font-manrope), sans-serif;text-wrap:pretty;margin:0;padding:0 .5rem}.auth-aside{isolation:isolate;background:var(--mm-accent);width:min(100%,27.5rem);min-height:8.25rem;color:var(--mm-on-accent);border-radius:1.375rem;order:-1;justify-content:space-between;justify-self:center;align-items:center;gap:.5rem;padding:1.125rem .5rem 1.125rem 1.375rem;display:flex;position:relative;overflow:hidden}.auth-aside:before{content:"";pointer-events:none;z-index:-1;background:#ffffff1a;border-radius:50%;width:12rem;height:12rem;position:absolute;bottom:-4rem;right:-3rem}.auth-aside-copy{z-index:1;min-width:0;max-width:26rem;position:relative}.auth-aside-title{font:800 1.1875rem/1.2 var(--font-sora), sans-serif;letter-spacing:-.02em;color:var(--mm-on-accent);text-wrap:balance;margin:0}.auth-aside-art{z-index:1;flex-shrink:0;width:8.5rem;height:auto;margin:-.75rem 0 -1rem;position:relative}@media (min-width:64rem){.auth-layout{grid-template-columns:minmax(0,1fr) minmax(0,.92fr)}.auth-shell-main{padding:1.75rem 0}.auth-aside{flex-direction:column;order:0;justify-content:flex-start;justify-self:stretch;align-items:stretch;gap:2rem;width:auto;min-height:calc(100svh - 1.5rem);padding:3rem 3rem 2.5rem}.auth-aside:before{width:28rem;height:28rem;bottom:-5rem;right:-6rem}.auth-aside:after{content:"";pointer-events:none;z-index:-1;background:#ffffff0f;border-radius:50%;width:9rem;height:9rem;position:absolute;top:42%;left:-3.5rem}.auth-aside-title{letter-spacing:-.025em;font-size:clamp(1.75rem,2.3vw,2.25rem);line-height:1.15}.auth-aside-art{align-self:center;width:min(100%,32rem);margin:auto 0}}.auth-card{width:min(100%,27.5rem);min-width:0}.auth-shell-content .auth-card{width:100%}.auth-card-inner,.auth-card>.auth-body{background:var(--mm-surface);border:1px solid var(--mm-border);box-shadow:0 1px 2px var(--mm-shadow-1);overflow-wrap:anywhere;border-radius:1.375rem;padding:2rem}.auth-shell-content .auth-card-inner{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.auth-brand{gap:.4375rem;margin-bottom:1.5rem;display:grid}.auth-brand h1{font:800 1.4375rem/1.2 var(--font-sora), sans-serif;letter-spacing:-.025em;color:var(--mm-ink);text-wrap:balance;margin:0}.auth-form>.auth-brand{margin-bottom:.125rem}.auth-icon-tile{background:var(--mm-accent-soft);width:2.875rem;height:2.875rem;color:var(--mm-accent-ink);border-radius:.9375rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.auth-icon-tile--bad{background:var(--mm-bad-soft);color:var(--mm-bad)}.auth-brand p,.auth-helper{font:500 .8125rem/1.55 var(--font-manrope), sans-serif;color:var(--mm-ink-3);text-wrap:pretty;margin:0}.auth-selection{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:1.25rem;display:flex}.auth-selection-details{min-width:0;font:700 .8125rem/1.3 var(--font-manrope), sans-serif;color:var(--mm-ink);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.auth-badge{background:var(--mm-accent-soft);width:fit-content;color:var(--mm-accent-ink);font:700 .71875rem/1 var(--font-manrope), sans-serif;white-space:nowrap;border-radius:.5625rem;align-items:center;padding:.375rem .625rem;display:inline-flex}.auth-oauth-group{margin-bottom:1.125rem}.auth-oauth-btn,.auth-secondary,.auth-submit{width:100%;min-height:2.875rem;font:700 .84375rem/1.2 var(--font-manrope), sans-serif;text-align:center;cursor:pointer;transition:background .16s var(--mm-ease), border-color .16s var(--mm-ease), color .16s var(--mm-ease), transform .12s var(--mm-ease);border:1px solid #0000;border-radius:.875rem;justify-content:center;align-items:center;gap:.5625rem;padding:.75rem 1rem;text-decoration:none;display:flex}.auth-submit{background:var(--mm-accent);border-color:var(--mm-accent);color:var(--mm-on-accent)}.auth-submit:hover:not(:disabled){background:var(--mm-accent-hover);border-color:var(--mm-accent-hover);color:var(--mm-on-accent);text-decoration:none}.auth-submit:disabled{background:var(--mm-accent-mute);border-color:var(--mm-accent-mute);color:var(--mm-on-accent);cursor:not-allowed}.auth-oauth-btn,.auth-secondary{background:var(--mm-surface);border-color:var(--mm-border-3);color:var(--mm-ink)}.auth-oauth-btn:hover:not(:disabled),.auth-secondary:hover:not(:disabled){background:var(--mm-accent-soft);border-color:var(--mm-accent-line);color:var(--mm-accent-ink);text-decoration:none}.auth-oauth-btn:disabled,.auth-secondary:disabled{opacity:.5;cursor:not-allowed}.auth-submit:active:not(:disabled),.auth-secondary:active:not(:disabled),.auth-oauth-btn:active:not(:disabled){transform:scale(.98)}.auth-oauth-btn svg,.auth-secondary svg,.auth-submit svg{flex-shrink:0;width:1.0625rem;height:1.0625rem}.auth-button-row{flex-wrap:wrap;gap:.625rem;display:flex}.auth-button-row>*{flex:8rem;width:auto}.auth-divider{font:600 .71875rem/1 var(--font-manrope), sans-serif;color:var(--mm-ink-5);align-items:center;gap:.75rem;margin-bottom:1.125rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--mm-border-2);flex:1;height:1px}.auth-form{gap:1.125rem;display:grid}.auth-field{gap:.5625rem;min-width:0;display:grid}.auth-label{font:700 .71875rem/1.2 var(--font-manrope), sans-serif;color:var(--mm-ink-3);text-transform:uppercase;letter-spacing:.08em;display:block}.auth-input-wrap{min-width:0;position:relative}.auth-input{border:1px solid var(--mm-border);background:var(--mm-surface);width:100%;min-width:0;min-height:2.75rem;color:var(--mm-ink);font:600 .8125rem/1.35 var(--font-manrope), sans-serif;transition:border-color .15s var(--mm-ease), box-shadow .15s var(--mm-ease);border-radius:.8125rem;outline:none;padding:.6875rem .75rem;display:block}textarea.auth-input{min-height:4.875rem;font-size:.78125rem;font-weight:500;line-height:1.5}select.auth-input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--mm-ink-5) 50%), linear-gradient(135deg, var(--mm-ink-5) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2rem}.auth-input::placeholder{color:var(--mm-ink-5);opacity:1;font-weight:500}.auth-input:focus,.auth-input:focus-visible{border-color:var(--mm-accent-line);box-shadow:0 0 0 3px var(--mm-accent-soft);outline:none}.auth-input:disabled{background:var(--mm-surface-2);color:var(--mm-ink-4);cursor:not-allowed}.auth-input--password{padding-right:3rem}.auth-password-toggle{width:2.25rem;height:2.25rem;color:var(--mm-ink-5);cursor:pointer;transition:background .15s var(--mm-ease), color .15s var(--mm-ease);background:0 0;border:0;border-radius:.625rem;place-items:center;display:grid;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.auth-password-toggle:hover:not(:disabled){background:var(--mm-accent-soft);color:var(--mm-accent-ink)}.auth-password-toggle:disabled{opacity:.5;cursor:not-allowed}.auth-password-toggle svg{width:1.0625rem;height:1.0625rem}.auth-recovery-actions{flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;display:flex}.auth-link-button,.auth-recovery-actions button,.auth-recovery-actions a,.auth-footer button,.auth-footer a,.auth-back-link{min-height:2rem;color:var(--mm-accent-ink);font:700 .78125rem/1.3 var(--font-manrope), sans-serif;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;text-decoration:none;display:inline-flex}.auth-link-button:hover:not(:disabled),.auth-recovery-actions a:hover,.auth-recovery-actions button:hover:not(:disabled),.auth-footer a:hover,.auth-footer button:hover:not(:disabled),.auth-back-link:hover{color:var(--mm-accent-hover);text-underline-offset:.2em;text-decoration:underline}.dark :is(.auth-link-button,.auth-recovery-actions a,.auth-recovery-actions button,.auth-footer a,.auth-footer button,.auth-back-link):hover{color:var(--mm-ink)}:is(.auth-link-button,.auth-recovery-actions button,.auth-footer button):disabled{opacity:.5;cursor:not-allowed}.auth-back-link{justify-content:center}.auth-footer{border-top:1px solid var(--mm-border-2);text-align:center;font:500 .78125rem/1.5 var(--font-manrope), sans-serif;color:var(--mm-ink-4);margin-top:1.25rem;padding-top:1.125rem}.auth-error,.auth-success{font:600 .78125rem/1.45 var(--font-manrope), sans-serif;text-wrap:pretty;border:1px solid #0000;border-radius:.8125rem;align-items:flex-start;gap:.5625rem;padding:.6875rem .8125rem;display:flex}.auth-error{color:var(--mm-bad);background:var(--mm-bad-soft);border-color:var(--mm-bad-line)}.auth-success{color:var(--mm-ok);background:var(--mm-ok-soft)}.auth-error svg,.auth-success svg{flex-shrink:0;width:1rem;height:1rem;margin-top:.0625rem}.auth-spinner{border:2px solid #ffffff59;border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:1.125rem;height:1.125rem;animation:.8s linear infinite auth-spin;display:inline-block}.auth-spinner--dark{border-width:3px;border-color:var(--mm-accent-soft-2);border-top-color:var(--mm-accent-ink)}.auth-loading{min-height:12rem;font:700 .8125rem/1.3 var(--font-manrope), sans-serif;color:var(--mm-ink);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.auth-loading .auth-spinner{width:2.125rem;height:2.125rem}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-picker-prompt{margin-bottom:.75rem}.auth-account-options{gap:.625rem;display:grid}.auth-account-option{border:1px solid var(--mm-border);background:var(--mm-surface);width:100%;min-width:0;color:var(--mm-ink);text-align:left;cursor:pointer;transition:background .16s var(--mm-ease), border-color .16s var(--mm-ease);border-radius:1rem;align-items:center;gap:.8125rem;padding:.875rem 1rem;display:flex}.auth-account-icon{background:var(--mm-accent-soft);width:2.5rem;height:2.5rem;color:var(--mm-accent-ink);transition:background .16s var(--mm-ease);border-radius:.8125rem;flex-shrink:0;place-items:center;display:grid}.auth-account-copy{flex:1;min-width:0}.auth-account-title{font:700 .84375rem/1.25 var(--font-manrope), sans-serif;color:var(--mm-ink);display:block}.auth-account-description{font:500 .75rem/1.45 var(--font-manrope), sans-serif;color:var(--mm-ink-4);margin-top:.25rem;display:block}.auth-account-chevron{color:var(--mm-ink-5);transition:transform .16s var(--mm-ease), color .16s var(--mm-ease);flex-shrink:0}.auth-account-option:hover,.auth-account-option:focus-visible,.auth-account-option[aria-pressed=true]{background:var(--mm-accent-soft);border-color:var(--mm-accent-line)}:is(.auth-account-option:hover,.auth-account-option:focus-visible,.auth-account-option[aria-pressed=true]) .auth-account-icon{background:var(--mm-surface)}:is(.auth-account-option:hover,.auth-account-option:focus-visible,.auth-account-option[aria-pressed=true]) :is(.auth-account-title,.auth-account-chevron){color:var(--mm-accent-ink)}.auth-account-option:hover .auth-account-chevron{transform:translate(2px)}.auth-session{border:1px solid var(--mm-border-2);background:var(--mm-surface);border-radius:1rem;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem .875rem;display:flex}.auth-session-icon{background:var(--mm-surface-2);width:2.125rem;height:2.125rem;color:var(--mm-ink-4);border-radius:.6875rem;flex-shrink:0;place-items:center;display:grid}.auth-session-details{min-width:0;font:700 .8125rem/1.3 var(--font-manrope), sans-serif;color:var(--mm-ink);overflow-wrap:anywhere;flex:9rem;gap:.1875rem;display:grid}.auth-session-details span{font:500 .71875rem/1.3 var(--font-manrope), sans-serif;color:var(--mm-ink-5)}.auth-verification{background:var(--mm-surface-2);font:700 .8125rem/1.35 var(--font-manrope), sans-serif;color:var(--mm-ink);border-radius:.875rem;gap:.75rem;margin-bottom:1.25rem;padding:.875rem;display:grid}.auth-invite-banner{border:1px solid var(--mm-accent-line);background:var(--mm-accent-soft);color:var(--mm-ink);font:700 .78125rem/1.5 var(--font-manrope), sans-serif;overflow-wrap:anywhere;border-radius:.875rem;justify-items:start;gap:.375rem;margin-bottom:1.25rem;padding:.75rem .875rem;display:grid}.auth-invite-banner--error{border-color:var(--mm-bad-line);background:var(--mm-bad-soft);color:var(--mm-bad)}.username-check{min-height:1.25rem;font:600 .75rem/1.3 var(--font-manrope), sans-serif;align-items:center;gap:.375rem;display:flex}.username-check svg{flex-shrink:0;width:1rem;height:1rem}.username-check .auth-spinner{border-width:2px;width:.875rem;height:.875rem}.username-check--available{color:var(--mm-ok)}.username-check--taken{color:var(--mm-bad)}.username-check--checking,.username-rules{color:var(--mm-ink-5)}.username-rules{font:500 .71875rem/1.5 var(--font-manrope), sans-serif}@media (max-width:30rem){.auth-shell-main{padding:.25rem 0 .75rem}.auth-shell-content,.auth-card-inner,.auth-card>.auth-body{border-radius:1.25rem;padding:1.375rem 1.125rem}.auth-account-option{gap:.6875rem;padding:.75rem .8125rem}.auth-account-icon{width:2.25rem;height:2.25rem}}@media (pointer:coarse){.auth-input{font-size:1rem}.auth-link-button,.auth-recovery-actions button,.auth-recovery-actions a,.auth-footer button,.auth-footer a,.auth-back-link{min-height:2.75rem}}.dashboard-card{background:var(--mm-surface);border:1px solid var(--mm-border);box-shadow:0 1px 2px var(--mm-shadow-1);border-radius:1.25rem;padding:2rem}.dashboard-welcome{margin-bottom:2rem}.dashboard-welcome h1{font:800 1.4375rem/1.2 var(--font-sora), sans-serif;letter-spacing:-.025em;color:var(--mm-ink)}.dashboard-welcome p{font:500 .78125rem/1.5 var(--font-manrope), sans-serif;color:var(--mm-ink-3);margin-top:.4375rem}.dashboard-stat{align-items:center;gap:1rem;padding:1rem 0;display:flex}.dashboard-stat:not(:last-child){border-bottom:1px solid var(--mm-surface-3)}.dashboard-stat-icon{border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex}.dashboard-stat-icon svg{width:1.25rem;height:1.25rem}.dashboard-stat-label{font:600 .75rem/1.35 var(--font-manrope), sans-serif;color:var(--mm-ink-4)}.dashboard-stat-value{font:700 1.0625rem/1.3 var(--font-manrope), sans-serif;color:var(--mm-ink)}
