:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.api-health-indicator[data-v-05012ad1]{font-size:.75rem;padding:.25rem .5rem}.api-health-indicator--reachable[data-v-05012ad1]{color:var(--color-success, #22c55e)}.api-health-indicator--unreachable[data-v-05012ad1]{color:var(--color-danger, #dc2626)}.dev-login[data-v-9d94ac0a]{display:flex;align-items:center;gap:var(--spacing-md, .5rem);padding:var(--spacing-md, 1rem)}.dev-login__label[data-v-9d94ac0a]{font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.dev-login__error[data-v-9d94ac0a]{color:var(--color-danger, #dc2626);font-size:.875rem}.session-signup__button[data-v-1a498fe7]{padding:var(--spacing-md, .75rem 1.5rem);border-radius:var(--radius-sm, 4px);border:none;cursor:pointer;font-weight:600}.session-signup__button--available[data-v-1a498fe7],.session-signup__button--displacement[data-v-1a498fe7]{background:var(--color-success, #22c55e);color:#fff}.session-signup__button--displacement[data-v-1a498fe7]{background:var(--color-warning, #eab308);color:#000}.session-signup__button--full[data-v-1a498fe7]{background:var(--color-neutral, #9ca3af);color:#fff}.session-signup__button[data-v-1a498fe7]:disabled{opacity:.6;cursor:default}.session-signup__warning[data-v-1a498fe7],.session-signup__confirmation[data-v-1a498fe7]{font-size:.875rem;margin-top:.5rem}.session-list-item[data-v-0d8befee]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md, 1rem);padding:var(--spacing-md, 1rem);border-bottom:1px solid var(--color-border, #e5e7eb)}.session-list-item__info[data-v-0d8befee]{display:flex;flex-direction:column;gap:.25rem}.session-list-item__time[data-v-0d8befee]{font-weight:600}.session-list-item__location[data-v-0d8befee],.session-list-item__mode[data-v-0d8befee],.session-list-item__no-signup[data-v-0d8befee]{font-size:.875rem;color:var(--color-text-secondary, #6b7280)}.session-list-item__status[data-v-0d8befee]{font-size:.875rem;max-width:20rem;text-align:right}.session-list__items[data-v-e520c23c]{list-style:none;padding:0;margin:0}.pending-invitations__item[data-v-6ae8cafc]{display:flex;flex-direction:column;gap:.25rem;padding:var(--spacing-md, 1rem);border-bottom:1px solid var(--color-border, #e5e7eb)}.pending-invitations__item button[data-v-6ae8cafc]{align-self:flex-start;padding:var(--spacing-md, .75rem 1.5rem);border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e5e7eb);cursor:pointer}.pending-invitations__confirmation[data-v-6ae8cafc]{font-size:.875rem;color:var(--color-success, #22c55e)}.pending-invitations__error[data-v-6ae8cafc]{font-size:.875rem;color:var(--color-danger, #dc2626)}.session-mode-selector__presets[data-v-1e849741],.session-mode-selector__flags[data-v-1e849741]{border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-sm, 4px);padding:var(--spacing-md, 1rem);margin-bottom:var(--spacing-md, 1rem)}.session-mode-selector__presets label[data-v-1e849741],.session-mode-selector__flags label[data-v-1e849741]{display:block;margin-bottom:.5rem}.session-mode-selector__error[data-v-1e849741]{color:var(--color-danger, #dc2626);font-size:.875rem}.create-session-form[data-v-264c605a]{border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-sm, 4px);padding:var(--spacing-md, 1rem);margin-bottom:var(--spacing-md, 1rem)}.create-session-form__when[data-v-264c605a]{display:block;margin-bottom:var(--spacing-md, 1rem)}.create-session-form__error[data-v-264c605a]{color:var(--color-danger, #dc2626);font-size:.875rem}.create-session-form__actions[data-v-264c605a]{display:flex;gap:var(--spacing-md, .5rem)}.create-session-form__cancel[data-v-264c605a]{background:none;border:1px solid var(--color-border, #e5e7eb)}.invite-student-form[data-v-d7099c65],.invite-student-form__result[data-v-d7099c65]{border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-sm, 4px);padding:var(--spacing-md, 1rem);margin-bottom:var(--spacing-md, 1rem)}.invite-student-form__result code[data-v-d7099c65]{display:block;word-break:break-all;background:var(--color-surface, #f3f4f6);padding:var(--spacing-md, .5rem);border-radius:var(--radius-sm, 4px);margin:var(--spacing-md, .5rem) 0}.invite-student-form__error[data-v-d7099c65]{color:var(--color-danger, #dc2626);font-size:.875rem}.invite-student-form__actions[data-v-d7099c65]{display:flex;gap:var(--spacing-md, .5rem);margin-top:var(--spacing-md, .5rem)}.invite-student-form__cancel[data-v-d7099c65]{background:none;border:1px solid var(--color-border, #e5e7eb)}.home-view[data-v-ba288fea]{max-width:640px;margin:0 auto}.home-view__account[data-v-ba288fea]{display:flex;align-items:center;gap:var(--spacing-md, .5rem);padding:var(--spacing-md, 1rem);font-size:.875rem}.home-view__course-picker[data-v-ba288fea]{display:block;padding:0 var(--spacing-md, 1rem);margin-bottom:var(--spacing-md, .5rem);font-size:.875rem}.home-view__course-label[data-v-ba288fea]{font-weight:600;padding:0 var(--spacing-md, 1rem)}section[data-v-ba288fea]{margin-bottom:var(--spacing-lg, 2rem)}.invitation-landing button[data-v-e9a8ecce]{padding:var(--spacing-md, .75rem 1.5rem);border-radius:var(--radius-sm, 4px);border:1px solid var(--color-border, #e5e7eb);cursor:pointer;margin-top:var(--spacing-md, 1rem)}.invitation-landing__hint[data-v-e9a8ecce]{font-size:.875rem;color:var(--color-text-secondary, #6b7280)}.invite-view[data-v-6e919b48]{max-width:480px;margin:4rem auto;padding:var(--spacing-md, 1rem)}.invite-view__error[data-v-6e919b48]{color:var(--color-danger, #dc2626);margin-top:var(--spacing-md, 1rem)}
