:root{color:#1d1d1f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--surface:#fff;--background:#f5f5f7;--text:#1d1d1f;--secondary:#6e6e73;--line:#e5e5ea;--blue:#06c;--input:#fafafa;--error:#b42318;--error-bg:#fff0ed;--success:#237347;--success-bg:#edf8f1;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #4b9eff}a{color:inherit}.app-shell{flex-direction:column;min-height:100svh;display:flex}.site-header{justify-content:space-between;align-items:center;width:100%;max-width:1240px;margin:0 auto;padding:28px 48px;display:flex}.brand{letter-spacing:-.8px;align-items:center;gap:11px;min-height:44px;font-size:21px;font-weight:650;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:#1d1d1f;border-radius:11px;place-items:center;width:36px;height:36px;display:grid}.brand-mark svg{width:24px;height:24px}.brand-queue{opacity:.55}main{flex:1;width:100%}.auth-card{background:var(--surface);border:1px solid #00000008;border-radius:28px;width:100%;padding:36px;box-shadow:0 12px 45px #0000000a}.auth-heading h1{letter-spacing:-.9px;margin:0 0 24px;font-size:27px;font-weight:650}.segmented{background:var(--background);border-radius:12px;gap:3px;margin-bottom:24px;padding:4px;display:flex}.segmented button{width:50%;min-height:44px;color:var(--secondary);background:0 0;border:0;border-radius:9px;font-size:13px;font-weight:600;transition:background .16s,box-shadow .16s}.segmented button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:0 2px 5px #00000014}.button{border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:50px;font-size:14px;font-weight:600;transition:background .16s,transform .16s;display:inline-flex}.button:active:not(:disabled){transform:scale(.985)}.google-button{width:100%;color:var(--text);border:1px solid var(--line);background:var(--surface)}.google-button:hover:not(:disabled){background:var(--background)}.primary-button{color:#fff;background:var(--blue);width:100%;margin-top:12px}.primary-button:hover:not(:disabled){background:#0056b0}.primary-button svg{width:17px}.divider{color:var(--secondary);align-items:center;gap:14px;margin:24px 0;font-size:11px;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.field{margin-bottom:17px}.field label{margin-bottom:8px;font-size:12px;font-weight:600;display:block}.input-wrap{position:relative}.field input{background:var(--input);width:100%;height:52px;color:var(--text);border:1px solid #d8d8dd;border-radius:11px;padding:0 14px;font-size:16px;transition:border-color .15s,box-shadow .15s;display:block}.field input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #0066cc1f}.field input::placeholder{color:#88888e;font-size:14px}.field input[name=password]{padding-right:52px}.field-invalid input{border-color:var(--error)}.password-toggle{width:44px;height:44px;color:var(--secondary);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.field-error,.field-hint{margin:7px 0 0;font-size:12px;line-height:1.5}.field-error{color:var(--error)}.field-hint{color:var(--secondary);margin:-8px 0 12px}.feedback{border-radius:10px;margin:16px 0 8px;padding:12px 14px;font-size:13px;line-height:1.55}.feedback p{margin:0}.feedback-error{color:var(--error);background:var(--error-bg)}.feedback-success{color:var(--success);background:var(--success-bg)}.help-button{color:var(--blue);background:0 0;border:0;min-height:44px;margin:12px auto -8px;padding:8px;font-size:12px;display:block}.help-dialog{border:1px solid var(--line);width:min(440px,100% - 32px);color:var(--text);background:var(--surface);border-radius:24px;padding:32px;position:fixed;box-shadow:0 24px 90px #0003}.help-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000052}.help-dialog h2{letter-spacing:-.7px;margin:20px 0 12px;font-size:25px}.help-dialog p{color:var(--secondary);font-size:14px;line-height:1.7}.icon-button{background:var(--background);width:44px;height:44px;color:var(--secondary);border:none;border-radius:50%;place-items:center;display:grid}.close-dialog{position:absolute;top:16px;right:16px}.dialog-symbol,.empty-symbol{width:52px;height:52px;color:var(--blue);background:#0066cc12;border-radius:16px;place-items:center;display:grid}.dialog-symbol svg,.empty-symbol svg{width:26px;height:26px}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}.loading-screen{min-height:60vh;color:var(--secondary);place-content:center;justify-items:center;display:grid}.course-home{max-width:1120px;margin:24px auto 64px;padding:32px}.home-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.home-heading h1{letter-spacing:-1.8px;margin:16px 0 8px;font-size:44px}.home-heading p{color:var(--secondary)}.secondary-button{background:var(--surface);color:var(--text);border:1px solid var(--line);padding:0 18px}.empty-state{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:24px;margin-top:28px;padding:56px 24px}.empty-symbol{margin:0 auto 22px}.empty-state h2{letter-spacing:-.6px;margin-bottom:12px;font-size:23px}.empty-state p{color:var(--secondary);font-size:15px;line-height:1.8}.account-label{color:var(--secondary);background:var(--background);overflow-wrap:anywhere;border-radius:8px;margin-top:16px;padding:8px 12px;font-size:12px;display:inline-block}.course-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:28px;display:grid}.course-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px}.course-card h3{margin:24px 0 8px;font-size:22px}.course-card p{color:var(--secondary);font-size:14px}.role-label{color:var(--blue);font-size:12px}.text-button{color:inherit;background:0 0;border:none;min-height:44px;padding:12px 0 0;font-weight:600}.loading-inline{color:var(--secondary);gap:12px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=960px){.auth-card{padding:28px}}@media (width<=720px){.site-header{padding:18px 24px}.auth-card{border-radius:24px;padding:26px 24px}.auth-heading h1{font-size:24px}.segmented{margin-bottom:20px}.divider{margin:20px 0}.course-home{margin:8px auto 40px;padding:24px}.home-heading{align-items:flex-start}.home-heading h1{font-size:32px}.home-heading .secondary-button{min-width:max-content;padding:0 12px;font-size:12px}.home-heading .secondary-button svg{display:none}.empty-state{padding:36px 20px}}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#1c1c1e;--background:#101012;--text:#f5f5f7;--secondary:#a2a2a8;--line:#353539;--blue:#0a84ff;--input:#242426;--error:#ff9a90;--error-bg:#3c2221;--success:#83d7a4;--success-bg:#163324;background:var(--background);color:var(--text)}.brand-mark{color:#1d1d1f;background:#f5f5f7}.field input{border-color:#44444a}.field-invalid input{border-color:var(--error)}.auth-card{border-color:var(--line)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.auth-layout{width:100%;max-width:484px;margin:32px auto 64px;padding:0 20px}@media (width<=720px){.auth-layout{margin:12px auto 32px}}fieldset{border:0;min-width:0;margin:0;padding:0}.account-line{color:var(--secondary);overflow-wrap:anywhere;flex-wrap:wrap;gap:12px;font-size:14px;display:flex}.course-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0;display:flex}.course-actions .primary-button{width:auto;margin:0;padding:0 20px}.course-actions .text-button,.detail-heading .text-button{padding:10px}.course-link{text-align:left;color:var(--text);font:inherit;transition:border-color .15s}.course-link:hover{border-color:var(--blue)}.course-link h2{overflow-wrap:anywhere;margin:20px 0 8px;font-size:22px}.course-count{color:var(--secondary);font-size:13px}.settings-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;min-width:0;margin-top:24px;padding:24px}form.settings-card{max-width:600px}.settings-card h2{letter-spacing:-.4px;margin:0 0 24px;font-size:20px}.field label span{color:var(--secondary);font-weight:400}.form-hint{color:var(--secondary);font-size:13px;line-height:1.6}.back-button{color:var(--blue)}.detail-heading h1{letter-spacing:-1px;overflow-wrap:anywhere;margin:24px 0 8px;font-size:34px}.detail-heading p{color:var(--secondary);margin:8px 0}.detail-grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.detail-grid>div{min-width:0}.member-list{margin:0;padding:0;list-style:none}.member-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:16px 0;display:flex}.member-list li:last-child{border-bottom:0;padding-bottom:0}.member-list li:first-child{padding-top:0}.member-list strong{overflow-wrap:anywhere;font-size:15px;font-weight:600}.member-list li>div{min-width:0}.member-list p{color:var(--secondary);overflow-wrap:anywhere;margin:6px 0 0;font-size:12px}.count-badge{background:var(--background);color:var(--secondary);vertical-align:middle;border-radius:8px;padding:4px 8px;font-size:13px;display:inline-block}.join-code-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.join-code-row code{letter-spacing:1px;-webkit-user-select:all;user-select:all;font-size:21px}.check-field{align-items:center;gap:10px;min-height:44px;margin:12px 0;font-size:14px;display:flex}.check-field input{width:20px;height:20px;accent-color:var(--blue);flex-shrink:0}.code-input{text-transform:uppercase;letter-spacing:2px}.field select{width:100%;min-height:52px;font:inherit;color:var(--text);background:var(--input);border:1px solid var(--line);border-radius:11px;padding:0 12px;font-size:16px}.term-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-heading h2,.section-heading .course-actions{margin:0}.session-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.session-link{text-align:left;border:1px solid var(--line);background:var(--input);color:var(--text);font:inherit;border-radius:14px;flex-direction:column;gap:10px;padding:20px;display:flex}.session-link strong{overflow-wrap:anywhere;font-size:19px}.session-link>span:not(.role-label){color:var(--secondary);font-size:13px}.teacher-choices legend{margin-bottom:8px;font-size:14px;font-weight:600}.lane-select{max-width:450px;margin-top:24px}.critique-timer{font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;gap:12px;padding:24px 0;display:flex}.critique-timer strong{letter-spacing:-3px;font-size:clamp(48px,10vw,72px);font-weight:600;line-height:1}.critique-timer span{color:var(--secondary);font-size:13px}.critique-timer.overtime strong{color:var(--error)}.current-critique{border-color:var(--blue)}.queue-list{margin:0;padding:0;list-style:none}.queue-list li{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:16px 0;display:flex}.queue-list li:last-child{border:0}.queue-number{min-width:32px;color:var(--secondary);font-variant-numeric:tabular-nums;font-size:19px}.queue-person{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.queue-person strong{overflow-wrap:anywhere;font-size:15px}.queue-person span{color:var(--secondary);font-size:12px}.queue-current .queue-number{color:var(--blue)}.queue-list .text-button{padding:8px;font-size:12px}.student-session p{line-height:1.6}.session-board{padding-top:12px}@media (width<=720px){.session-cards{grid-template-columns:minmax(0,1fr)}.field input[type=datetime-local]{min-width:0;max-width:100%}.detail-grid{grid-template-columns:1fr;gap:0}.settings-card{padding:20px}.course-grid{grid-template-columns:minmax(0,1fr)}.course-home{padding:0 20px}.detail-heading h1{font-size:28px}}
