*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{color:#0f172a;background:#f8fafc;--background: 210 40% 98%;--foreground: 222 47% 11%;--card: 0 0% 100%;--card-foreground: 222 47% 11%;--popover: 0 0% 100%;--popover-foreground: 222 47% 11%;--primary: 221 83% 53%;--primary-hover: 224 76% 46%;--primary-hover-border: 226 71% 37%;--primary-foreground: 0 0% 100%;--lms-primary-button-bg: rgb(15, 23, 41);--lms-primary-button-border: rgb(15, 23, 41);--lms-primary-button-hover-bg: rgb(31, 41, 55);--lms-primary-button-hover-border: rgb(17, 24, 39);--lms-primary-button-foreground: #ffffff;--secondary: 210 40% 96%;--secondary-foreground: 222 47% 11%;--muted: 210 40% 96%;--muted-foreground: 215 16% 47%;--accent: 217 91% 96%;--accent-foreground: 221 83% 53%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 100%;--border: 214 32% 91%;--input: 214 32% 91%;--ring: 221 83% 53%;--chart-1: 221 83% 53%;--chart-2: 142 71% 45%;--chart-3: 25 95% 53%;--chart-4: 262 83% 58%;--chart-5: 0 72% 51%;--radius: .5rem;--novel-highlight-blue: #dbeafe;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{min-width:320px;min-height:100vh;background:#f8fafc}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-3{left:.75rem}.right-0{right:0}.right-11{right:2.75rem}.right-2\.5{right:.625rem}.top-1\/2{top:50%}.top-7{top:1.75rem}.z-0{z-index:0}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[70\]{z-index:70}.m-0{margin:0}.m-4{margin:1rem}.mx-auto{margin-left:auto;margin-right:auto}.\!mb-0{margin-bottom:0!important}.mb-6{margin-bottom:1.5rem}.mb-\[18px\]{margin-bottom:18px}.mb-\[22px\]{margin-bottom:22px}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.hidden{display:none}.size-10{width:2.5rem;height:2.5rem}.size-4{width:1rem;height:1rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-\[34px\]{width:34px;height:34px}.size-\[42px\]{width:42px;height:42px}.size-full{width:100%;height:100%}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.h-\[34px\]{height:34px}.h-auto{height:auto}.h-full{height:100%}.max-h-\[min\(320px\,var\(--radix-select-content-available-height\)\)\]{max-height:min(320px,var(--radix-select-content-available-height))}.max-h-\[min\(880px\,calc\(100vh-32px\)\)\]{max-height:min(880px,calc(100vh - 32px))}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-12{min-height:3rem}.min-h-16{min-height:4rem}.min-h-24{min-height:6rem}.min-h-6{min-height:1.5rem}.min-h-7{min-height:1.75rem}.min-h-8{min-height:2rem}.min-h-9{min-height:2.25rem}.min-h-\[200px\]{min-height:200px}.min-h-\[34px\]{min-height:34px}.min-h-\[38px\]{min-height:38px}.min-h-\[42px\]{min-height:42px}.min-h-\[500px\]{min-height:500px}.min-h-\[70px\]{min-height:70px}.min-h-screen{min-height:100vh}.w-11{width:2.75rem}.w-28{width:7rem}.w-5{width:1.25rem}.w-9{width:2.25rem}.w-\[min\(300px\,calc\(100vw-32px\)\)\]{width:min(300px,calc(100vw - 32px))}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-44{min-width:11rem}.min-w-\[124px\]{min-width:124px}.min-w-\[180px\]{min-width:180px}.min-w-\[220px\]{min-width:220px}.min-w-\[280px\]{min-width:280px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-60{max-width:15rem}.max-w-\[1160px\]{max-width:1160px}.max-w-\[56ch\]{max-width:56ch}.max-w-\[58ch\]{max-width:58ch}.max-w-\[72ch\]{max-width:72ch}.max-w-\[760px\]{max-width:760px}.max-w-\[820px\]{max-width:820px}.max-w-\[min\(320px\,calc\(100vw-40px\)\)\]{max-width:min(320px,calc(100vw - 40px))}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[28px_minmax\(0\,1fr\)\]{grid-template-columns:28px minmax(0,1fr)}.grid-cols-\[32px_minmax\(0\,1fr\)_auto\]{grid-template-columns:32px minmax(0,1fr) auto}.grid-cols-\[34px_minmax\(0\,1fr\)\]{grid-template-columns:34px minmax(0,1fr)}.grid-cols-\[auto_32px_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto 32px minmax(0,1fr) auto}.grid-cols-\[auto_auto_minmax\(180px\,1fr\)_auto_auto\]{grid-template-columns:auto auto minmax(180px,1fr) auto auto}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[auto_minmax\(180px\,1fr\)_auto\]{grid-template-columns:auto minmax(180px,1fr) auto}.grid-cols-\[auto_minmax\(180px\,1fr\)_auto_auto\]{grid-template-columns:auto minmax(180px,1fr) auto auto}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-rows-\[auto_minmax\(0\,1fr\)\]{grid-template-rows:auto minmax(0,1fr)}.grid-rows-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-rows:auto minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-\[18px\]{gap:18px}.gap-\[22px\]{gap:22px}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.self-start{align-self:flex-start}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-\[10px\]{border-radius:10px}.rounded-\[11px\]{border-radius:11px}.rounded-\[14px\]{border-radius:14px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-b-\[11px\]{border-bottom-right-radius:11px;border-bottom-left-radius:11px}.rounded-t-\[11px\]{border-top-left-radius:11px;border-top-right-radius:11px}.border{border-width:1px}.border-0{border-width:0px}.\!border-b-0{border-bottom-width:0px!important}.border-b{border-bottom-width:1px}.border-b-\[3px\]{border-bottom-width:3px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-\[\#DDD6FE\]{--tw-border-opacity: 1;border-color:rgb(221 214 254 / var(--tw-border-opacity, 1))}.border-\[\#d5e3f5\]{--tw-border-opacity: 1;border-color:rgb(213 227 245 / var(--tw-border-opacity, 1))}.border-\[\#dfe5ee\]{--tw-border-opacity: 1;border-color:rgb(223 229 238 / var(--tw-border-opacity, 1))}.border-\[var\(--profile-accent\)\]{border-color:var(--profile-accent)}.border-\[var\(--profile-panel-border\)\]{border-color:var(--profile-panel-border)}.border-\[var\(--sidebar-profile-border\)\]{border-color:var(--sidebar-profile-border)}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-border{border-color:hsl(var(--border))}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-rose-200{--tw-border-opacity: 1;border-color:rgb(254 205 211 / var(--tw-border-opacity, 1))}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.border-teal-200{--tw-border-opacity: 1;border-color:rgb(153 246 228 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-\[\#F5F3FF\]{--tw-bg-opacity: 1;background-color:rgb(245 243 255 / var(--tw-bg-opacity, 1))}.bg-\[var\(--profile-avatar-bg\)\]{background-color:var(--profile-avatar-bg)}.bg-\[var\(--profile-item-bg\)\]{background-color:var(--profile-item-bg)}.bg-\[var\(--profile-panel-bg\)\]{background-color:var(--profile-panel-bg)}.bg-\[var\(--profile-surface\)\]{background-color:var(--profile-surface)}.bg-\[var\(--sidebar-profile-bg\)\]{background-color:var(--sidebar-profile-bg)}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-50\/40{background-color:#eff6ff66}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-rose-50{--tw-bg-opacity: 1;background-color:rgb(255 241 242 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-950\/35{background-color:#02061759}.bg-teal-50{--tw-bg-opacity: 1;background-color:rgb(240 253 250 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/60{background-color:#fff9}.fill-slate-900{fill:#0f172a}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-\[18px\]{padding:18px}.p-\[22px\]{padding:22px}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[18px\]{padding-left:18px;padding-right:18px}.px-\[30px\]{padding-left:30px;padding-right:30px}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.\!pb-1{padding-bottom:.25rem!important}.pb-2\.5{padding-bottom:.625rem}.pb-4{padding-bottom:1rem}.pb-\[18px\]{padding-bottom:18px}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pr-3\.5{padding-right:.875rem}.pr-8{padding-right:2rem}.pt-0\.5{padding-top:.125rem}.pt-1\.5{padding-top:.375rem}.pt-\[18px\]{padding-top:18px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[34px\]{font-size:34px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-\[850\]{font-weight:850}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-\[1\.15\]{line-height:1.15}.leading-\[1\.1\]{line-height:1.1}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-normal{letter-spacing:0em}.tracking-wide{letter-spacing:.025em}.text-\[\#7C3AED\]{--tw-text-opacity: 1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}.text-\[inherit\]{color:inherit}.text-\[var\(--profile-accent\)\]{color:var(--profile-accent)}.text-\[var\(--profile-avatar-text\)\]{color:var(--profile-avatar-text)}.text-\[var\(--profile-muted\)\]{color:var(--profile-muted)}.text-\[var\(--profile-text\)\]{color:var(--profile-text)}.text-\[var\(--sidebar-muted\)\]{color:var(--sidebar-muted)}.text-\[var\(--sidebar-strong\)\]{color:var(--sidebar-strong)}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-blue-950{--tw-text-opacity: 1;color:rgb(23 37 84 / var(--tw-text-opacity, 1))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.text-teal-700{--tw-text-opacity: 1;color:rgb(15 118 110 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.accent-blue-600{accent-color:#2563eb}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-\[0\.98\]{opacity:.98}.shadow-\[0_14px_32px_rgba\(15\,23\,42\,0\.24\)\]{--tw-shadow: 0 14px 32px rgba(15,23,42,.24);--tw-shadow-colored: 0 14px 32px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_14px_36px_rgba\(15\,23\,42\,0\.18\)\]{--tw-shadow: 0 14px 36px rgba(15,23,42,.18);--tw-shadow-colored: 0 14px 36px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_34px_rgba\(15\,23\,42\,0\.12\)\]{--tw-shadow: 0 16px 34px rgba(15,23,42,.12);--tw-shadow-colored: 0 16px 34px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_34px_rgba\(15\,23\,42\,0\.15\)\]{--tw-shadow: 0 16px 34px rgba(15,23,42,.15);--tw-shadow-colored: 0 16px 34px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_42px_rgba\(15\,23\,42\,0\.16\)\]{--tw-shadow: 0 18px 42px rgba(15,23,42,.16);--tw-shadow-colored: 0 18px 42px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_4px_0_0_\#f59e0b\]{--tw-shadow: inset 4px 0 0 #f59e0b;--tw-shadow-colored: inset 4px 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.will-change-transform{will-change:transform}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.running{animation-play-state:running}.\[-webkit-box-orient\:vertical\]{-webkit-box-orient:vertical}.\[-webkit-line-clamp\:2\]{-webkit-line-clamp:2}.\[display\:-webkit-box\]{display:-webkit-box}.skip-link{position:fixed;z-index:1000;top:12px;left:16px;transform:translateY(-150%);display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:2px solid #1d4ed8;border-radius:8px;background:#fff;color:#0f172a;font-size:14px;font-weight:750;text-decoration:none;box-shadow:0 14px 32px #0f172a33;transition:transform .16s ease}.skip-link:focus-visible{transform:translateY(0);outline:3px solid rgba(37,99,235,.3);outline-offset:3px}.course-workspace-shell{--profile-surface: #ecebea;--profile-surface-hover: #e5e4e1;--profile-panel-bg: #ecebea;--profile-panel-border: #ddddd7;--profile-item-bg: #f3f2ef;--profile-item-hover-bg: #e3e2df;--profile-text: #0f172a;--profile-muted: #667085;--profile-accent: #2563eb;--profile-avatar-bg: #0f172a;--profile-avatar-text: #ffffff;--workspace-topbar-bg: rgba(248, 250, 252, .92);--workspace-topbar-border: #e2e2dd;--workspace-breadcrumb: #64748b;--workspace-breadcrumb-hover: #111827;--workspace-breadcrumb-current: #334155;display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;background:#f8fafc}.course-sidebar{--sidebar-bg: #f7f7f5;--sidebar-border: #e2e2dd;--sidebar-strong: #0f172a;--sidebar-muted: #69758a;--sidebar-link: #475569;--sidebar-link-icon: #94a3b8;--sidebar-link-hover-bg: rgba(15, 23, 42, .045);--sidebar-link-hover: #0f172a;--sidebar-active-bg: #ecebea;--sidebar-active-border: transparent;--sidebar-active-text: #0f172a;--sidebar-active-icon: #0f172a;--sidebar-card-bg: rgba(255, 255, 255, .64);--sidebar-card-border: #e3e1da;--sidebar-control-bg: #ffffff;--sidebar-control-border: #d6dce6;--sidebar-control-text: #334155;--sidebar-utility-link: #1d4ed8;--sidebar-tone-bg: rgba(255, 255, 255, .56);--sidebar-tone-active-bg: #ffffff;--sidebar-tone-active-text: #0f172a;--sidebar-profile-bg: var(--sidebar-active-bg);--sidebar-profile-hover-bg: var(--sidebar-link-hover-bg);--sidebar-profile-border: var(--sidebar-card-border);display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;max-height:100vh;padding:36px 20px 28px;border-right:1px solid var(--sidebar-border);background:var(--sidebar-bg);overflow-y:auto;overscroll-behavior:contain}.course-sidebar-brand,.course-sidebar-course p,.course-card h2,.course-card p,.page-header h1,.page-header p,.section-label,.schedule-card h2,.schedule-card p,.agenda-day h3,.agenda-item p,.empty-state{margin:0}.skeleton-line,.skeleton-circle{display:block;overflow:hidden;position:relative;background:linear-gradient(90deg,#eef2f7,#f8fafc,#eef2f7 90%);background-size:220% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-line{width:var(--skeleton-width, 100%);max-width:100%;height:var(--skeleton-height, 12px);border-radius:999px}.skeleton-circle{width:var(--skeleton-size, 38px);height:var(--skeleton-size, 38px);flex:0 0 auto;border-radius:999px}.lms-loading-state{display:flex;min-height:156px;align-items:center;justify-content:center;gap:10px;padding:24px;color:#475569;font-size:14px;font-weight:800}.lms-loading-state--compact{min-height:78px}.lms-loading-spinner{width:18px;height:18px;flex:0 0 auto;border:2px solid #dbe3ee;border-top-color:#2563eb;border-radius:999px;animation:lms-loading-spin .75s linear infinite}.skeleton-table-row td,.skeleton-table-row th{pointer-events:none}.student-summary-card .skeleton-line+.skeleton-line,.grade-summary-content .skeleton-line+.skeleton-line,.exercise-hub-stat-card .skeleton-line+.skeleton-line,.exercise-path-card .skeleton-line+.skeleton-line,.course-exercise-card .skeleton-line+.skeleton-line,.student-grade-card-main>.skeleton-line+.skeleton-line{margin-top:8px}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes lms-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.skeleton-line,.skeleton-circle,.lms-loading-spinner{animation:none}}.course-sidebar-brand{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:10px;padding:0 12px;color:var(--sidebar-strong);font-size:15px;font-weight:850;line-height:1;text-decoration:none}.course-sidebar-brand img{width:34px;height:34px;flex:0 0 auto;border-radius:8px}.course-sidebar-course{display:grid;gap:4px;padding:12px 14px 10px}.course-sidebar-course p{color:var(--sidebar-strong);font-size:17px;font-weight:700;line-height:1.25}.course-nav{display:grid;gap:6px}.course-nav-link{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 16px;border-radius:12px;color:var(--sidebar-link);font-size:15px;font-weight:700;text-decoration:none}.course-nav-link svg{color:var(--sidebar-link-icon);opacity:.72}.course-nav-link:is(button){width:100%;border:0;background:transparent;text-align:left}.course-nav-link:hover{background:var(--sidebar-link-hover-bg);color:var(--sidebar-link-hover)}.course-nav-link.active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);box-shadow:none}.course-nav-link.active svg{color:var(--sidebar-active-icon);opacity:1}.course-nav-link.active:hover{background:var(--sidebar-active-bg);color:var(--sidebar-active-text)}.course-nav-link.disabled,.course-nav-link.disabled:hover{cursor:not-allowed;color:#64748b;background:transparent}.course-workspace-content{display:flex;flex-direction:column;position:relative;min-width:0;min-height:100vh}.course-workspace-content--status{grid-column:2}.course-workspace-status-main{display:grid;min-height:100vh;place-items:center;padding:44px}.course-workspace-status-inner{width:min(100%,720px)}.course-workspace-content>main{flex:1;min-height:calc(100vh - 54px);padding-top:34px}.course-workspace-content>.course-workspace-main-skip{flex:1;min-width:0;min-height:calc(100vh - 54px)}.course-workspace-content>.course-workspace-main-skip>main{min-height:100%;padding-top:34px}.course-workspace-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px;padding:0 22px;background:var(--workspace-topbar-bg)}.course-workspace-breadcrumbs{min-width:0;color:var(--workspace-breadcrumb);font-size:13px;font-weight:600}.course-workspace-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none}.course-workspace-breadcrumbs li{display:inline-flex;min-width:0;align-items:center}.course-workspace-breadcrumbs li+li:before{content:"/";margin:0 8px;color:color-mix(in srgb,var(--workspace-breadcrumb) 60%,transparent)}.course-workspace-breadcrumbs a,.course-workspace-breadcrumbs span{overflow:hidden;max-width:min(34vw,320px);color:inherit;text-overflow:ellipsis;text-decoration:none;white-space:nowrap}.course-workspace-breadcrumbs a:hover{color:var(--workspace-breadcrumb-hover);text-decoration:underline;text-underline-offset:3px}.course-workspace-breadcrumbs [aria-current=page]{color:var(--workspace-breadcrumb-current);font-weight:650}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.student-preview-area{display:flex;flex:0 0 auto;justify-content:flex-end}.student-preview-button{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 10px;border:1px solid var(--profile-panel-border);border-radius:999px;background:#fff;color:var(--profile-muted);font-size:12px;font-weight:850;box-shadow:none}.student-preview-button svg{width:13px;height:13px}.student-preview-button:hover{background:#f8fafc;color:var(--profile-text)}.student-preview-button.active{border-color:color-mix(in srgb,var(--profile-accent) 36%,var(--profile-panel-border));background:color-mix(in srgb,var(--profile-accent) 11%,var(--profile-surface));color:var(--profile-accent)}.course-profile-area{display:flex;justify-content:flex-end}.course-profile-area--sidebar{margin-top:auto;padding-top:18px}.course-profile-area--topbar{position:absolute;top:28px;right:44px;z-index:30}.course-profile-trigger{display:inline-flex;align-items:center;gap:10px;min-height:48px;max-width:min(320px,calc(100vw - 40px));padding:0 14px 0 10px;border:1px solid var(--profile-panel-border);border-radius:14px;background:#fff;color:var(--profile-text);font:inherit;box-shadow:none}.course-profile-area--sidebar .course-profile-trigger{width:100%;max-width:none;justify-content:flex-start;border-color:var(--sidebar-profile-border);background:var(--sidebar-profile-bg);color:var(--sidebar-strong)}.course-profile-trigger:hover,.course-profile-trigger[data-state=open]{background:#f8fafc}.course-profile-area--sidebar .course-profile-trigger:hover,.course-profile-area--sidebar .course-profile-trigger[data-state=open]{background:var(--sidebar-profile-hover-bg)}.course-profile-avatar{display:inline-grid;width:32px;height:32px;flex:0 0 auto;place-items:center;overflow:hidden;border-radius:999px;background:var(--profile-avatar-bg);color:var(--profile-avatar-text);font-size:12px;font-weight:850;letter-spacing:0}.course-profile-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.course-profile-copy{display:grid;min-width:0;gap:2px;text-align:left}.course-profile-name{overflow:hidden;color:var(--profile-text);font-size:14px;font-weight:800;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.course-profile-area--sidebar .course-profile-name{color:var(--sidebar-strong)}.course-profile-role{display:inline-flex;align-items:center;gap:5px;color:var(--profile-muted);font-size:11px;font-weight:800;line-height:1.1}.course-profile-area--sidebar .course-profile-role{color:var(--sidebar-muted)}.course-profile-trigger>svg:last-child{flex:0 0 auto;color:var(--profile-muted)}.course-profile-area--sidebar .course-profile-trigger>svg:last-child{margin-left:auto;color:var(--sidebar-muted)}.profile-menu-user{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:6px 6px 10px;border-bottom:1px solid var(--profile-panel-border)}.profile-menu-user div,.profile-menu-current-role div{display:grid;gap:2px;min-width:0}.profile-menu-user strong,.profile-menu-current-role strong{overflow:hidden;color:var(--profile-text);font-size:14px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.profile-menu-user span,.profile-menu-current-role span{overflow:hidden;color:var(--profile-muted);font-size:12px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.profile-menu-current-role{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--profile-panel-border);border-radius:12px;background:var(--profile-item-bg)}.profile-menu-current-role>svg{width:34px;height:34px;padding:8px;border-radius:10px;background:var(--profile-surface);color:var(--profile-accent)}.profile-preview-status{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;border:1px solid color-mix(in srgb,var(--profile-accent) 26%,var(--profile-panel-border));border-radius:10px;background:color-mix(in srgb,var(--profile-accent) 9%,var(--profile-item-bg));color:var(--profile-accent);font-size:12px;font-weight:850}.profile-menu-section{display:grid;gap:8px}.profile-menu-section-title{display:inline-flex;align-items:center;gap:6px;color:var(--profile-muted);font-size:11px;font-weight:850;letter-spacing:0;text-transform:uppercase}.profile-locale-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.profile-locale-option{min-height:34px;border:1px solid var(--profile-panel-border);border-radius:10px;background:transparent;color:var(--profile-text);font:inherit;font-size:13px;font-weight:800}.profile-locale-option:hover,.profile-locale-option.active{background:var(--profile-item-bg)}.profile-locale-option.active{border-color:color-mix(in srgb,var(--profile-accent) 38%,var(--profile-panel-border));color:var(--profile-accent)}.profile-menu-footer{display:grid;padding-top:2px}.profile-sign-in-link{display:inline-flex;min-height:36px;align-items:center;justify-content:center;border-radius:10px;color:var(--profile-accent);font-size:13px;font-weight:850;text-decoration:none}.profile-sign-in-link:hover{background:var(--profile-item-hover-bg)}.builder-shell,.admin-page,.assignments-page,.courses-page,.exercises-page,.exercise-page,.grades-page,.item-editor-page,.schedule-page,.settings-page,.students-page,.sign-in-page{min-height:100vh;padding:48px 44px}.page-inner{width:min(100%,1160px);margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:34px}.page-header>div:first-child{min-width:0;flex:1 1 360px}.eyebrow{margin:0 0 10px;color:#64748b;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.page-header h1{color:#101522;font-size:36px;font-weight:800;line-height:1.05}.page-header .eyebrow{margin:0 0 10px}.page-header p:not(.eyebrow){max-width:720px;margin-top:12px;color:#5e6b80;font-size:17px;line-height:1.55}.page-header--ruled{align-items:center;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #e2e8f0}.page-header--ruled h1{margin:0}.modules-page-header{display:block;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #e2e8f0}.page-header>.modules-title-stack{flex:none}.modules-title-stack,.schedule-title-stack{display:grid;gap:10px;width:100%;min-width:0}.modules-title-stack .eyebrow,.schedule-title-stack .eyebrow{margin-bottom:0}.modules-header-row,.schedule-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;min-width:0}.modules-header-row h1,.schedule-header-row h1{margin:0}.schedule-title-stack{flex:1 1 360px}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;max-width:100%}.settings-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:18px;align-items:start}.settings-panel{display:grid;gap:18px;padding:22px;border:1px solid #e1e5eb;border-radius:12px;background:#fff}.settings-panel-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.settings-panel-icon{display:inline-grid;width:38px;height:38px;place-items:center;border-radius:10px;background:#f1f4f8;color:#475569}.settings-panel-header h2,.settings-panel-header p{margin:0}.settings-panel-header h2{color:#101522;font-size:18px;line-height:1.2}.settings-panel-header p{margin-top:4px;color:#64748b;font-size:13px;font-weight:650;line-height:1.45}.settings-field{display:grid;gap:7px;max-width:460px;color:#475569;font-size:13px;font-weight:800}.settings-field select{min-height:44px;width:100%;padding:0 36px 0 12px;border:1px solid #d7dde6;border-radius:10px;background:#fff;color:#111827;font:inherit;font-size:14px}.settings-field select:disabled{cursor:not-allowed;background:#f8fafc;color:#64748b}.course-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.course-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:18px;min-height:280px;padding:22px;border:1px solid #e1e5eb;border-radius:12px;background:#fff}.course-card-icon{display:inline-grid;width:48px;height:48px;place-items:center;border:1px solid #e4e8ef;border-radius:12px;background:#f8fafc;color:#475569}.course-card-body{display:grid;gap:8px;align-content:start}.course-card-meta{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.course-card h2{color:#101522;font-size:20px;line-height:1.2}.course-card p{color:#53627a;line-height:1.5}.course-card-stats{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.course-card-stats span{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border:1px solid #e4e8ef;border-radius:999px;background:#fff;color:#42526a;font-size:12px;font-weight:700}.course-card-action{align-self:end;justify-self:start}.course-card-actions{display:flex;flex-wrap:wrap;gap:10px;align-self:end}.exercise-hub-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.exercise-hub-stat-card,.exercise-path-card,.course-exercise-card,.course-exercise-category-list{border:1px solid #e1e5eb;border-radius:12px;background:#fff}.exercise-hub-stat-card{display:flex;align-items:center;gap:10px;padding:12px}.exercise-hub-stats--quiet .exercise-hub-stat-card{background:#ffffffb8}.exercise-hub-stat-card>svg{color:#64748b}.exercise-hub-stat-card strong,.exercise-hub-stat-card span{display:block}.exercise-hub-stat-card strong{color:#111827;font-size:17px;line-height:1.1}.exercise-hub-stat-card span{margin-top:3px;color:#64748b;font-size:12px}.exercise-path-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:22px 24px}.exercise-path-card--primary{border-color:#d8e1ee}.focused-exercise-path-card{border-color:#cbd5e1;background:#fff}.student-exercise-focus-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;padding:18px;border:1px solid #e1e5eb;border-radius:12px;background:#fff}.student-exercise-focus-card h2,.student-exercise-focus-card p{margin:0}.student-exercise-focus-card h2{margin-top:2px;color:#111827;font-size:22px;line-height:1.2}.student-exercise-focus-card p:not(.eyebrow){margin-top:5px;color:#64748b;font-size:14px;font-weight:700}.student-exercise-focus-progress{display:grid;grid-template-columns:auto minmax(140px,240px) auto;align-items:center;gap:10px;margin-top:13px;color:#64748b;font-size:12px;font-weight:800}.student-exercise-focus-progress strong{color:#111827;font-size:15px}.student-exercise-focus-progress span{color:#64748b}.student-exercise-set-card{display:grid;gap:18px;margin-bottom:24px;padding:18px;border:1px solid #d9e2f2;border-radius:12px;background:#fff}.student-exercise-next-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;border:1px solid #c8dbfb;border-left:4px solid #2563eb;border-radius:10px;background:#f7fbff;color:inherit;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.student-exercise-next-card:hover{border-color:#8db7f8;box-shadow:0 14px 34px #2563eb1a;transform:translateY(-1px)}.student-exercise-next-card--completed{border-color:#bbf7d0;border-left-color:#16a34a;background:#f7fdf9}.student-exercise-next-card--empty{border-left-color:#94a3b8;background:#f8fafc}.student-exercise-next-card--standalone{margin-bottom:24px}.student-exercise-next-copy{display:grid;gap:7px}.student-exercise-next-copy strong{color:#111827;font-size:21px;line-height:1.2}.student-exercise-next-trail{color:#475569;font-size:13px;font-weight:800}.student-exercise-set-sections{display:grid;gap:10px}.student-exercise-set-sections-header{display:flex;align-items:end;justify-content:space-between;gap:16px}.student-exercise-set-sections-header h3,.student-exercise-set-sections-header p,.student-exercise-set-summary strong,.student-exercise-set-summary span{margin:0}.student-exercise-set-sections-header h3{color:#111827;font-size:18px;line-height:1.25}.student-exercise-set-summary{display:grid;justify-items:end;gap:3px;text-align:right}.student-exercise-set-summary strong{color:#111827;font-size:14px}.student-exercise-set-summary span{color:#64748b;font-size:12px;font-weight:800}.student-exercise-set-section-list{display:grid;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.student-exercise-set-section{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:12px 16px;color:inherit;text-decoration:none;transition:background-color .16s ease,color .16s ease}.student-exercise-set-section+.student-exercise-set-section{border-top:1px solid #e2e8f0}.student-exercise-set-section:hover{background:#f8fafc}.student-exercise-set-section--in_progress{background:#fbfdff}.student-exercise-set-section strong,.student-exercise-set-section small{display:block}.student-exercise-set-section strong{color:#111827;font-size:15px}.student-exercise-set-section small{color:#64748b;font-size:13px;line-height:1.35}.student-exercise-set-section-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;color:#64748b;text-align:right;white-space:nowrap}.student-exercise-set-section-action,.course-exercise-topic-action{color:#1d4ed8;font-size:13px;font-weight:800}.exercise-status-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;color:#64748b;font-size:12px;font-weight:800}.exercise-status-chip--in_progress{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.exercise-status-chip--completed{border-color:#bbf7d0;background:#ecfdf3;color:#15803d}.exercise-path-card h2,.exercise-path-card p{margin:0}.exercise-path-card h2{color:#111827;font-size:24px;line-height:1.15}.exercise-path-card p:not(.eyebrow){max-width:720px;margin-top:6px;color:#53627a;line-height:1.5}.focused-exercise-category-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.focused-exercise-category-link{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 10px;border:1px solid #dbe5f4;border-radius:999px;background:#fff;color:#1f2937;font-size:13px;font-weight:700;text-decoration:none}.focused-exercise-category-link:hover{border-color:#93c5fd;color:#1d4ed8}.focused-exercise-category-link span{color:#64748b;font-weight:800}.course-exercise-list{display:grid;gap:14px}.course-exercise-category-list{display:grid;overflow:hidden}.course-exercise-category-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:76px;padding:14px 16px;transition:background-color .16s ease}.course-exercise-category-row+.course-exercise-category-row{border-top:1px solid #e5e9f0}.course-exercise-category-row:hover{background:#fafbfc}.course-exercise-category-row--in_progress{background:#fbfdff}.course-exercise-category-row--completed{background:#fbfefc}.course-exercise-category-row--empty{background:#f8fafc}.focused-course-exercise-category-row{box-shadow:inset 3px 0 #2563eb}.course-exercise-category-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0;color:inherit;text-decoration:none}.course-exercise-category-main--static{grid-template-columns:1fr}.course-exercise-category-copy{display:grid;gap:5px;min-width:0}.course-exercise-category-title-line{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.course-exercise-category-copy>strong,.course-exercise-category-title-line strong{color:#111827;font-size:15px;line-height:1.3}.course-exercise-category-context,.course-exercise-category-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.course-exercise-category-context{color:#64748b;font-size:12px;font-weight:800}.course-exercise-category-context span+span:before{content:"·";margin-right:8px;color:#94a3b8}.course-exercise-category-trail{color:#475569;font-size:13px;line-height:1.35}.course-exercise-category-meta{justify-content:flex-end;color:#64748b;font-size:12px;font-weight:800;text-align:right}.course-exercise-category-open{display:inline-flex;align-items:center;gap:5px;color:#1d4ed8}.course-exercise-category-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.course-exercise-category-disabled{color:#64748b;font-size:13px;font-weight:800}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.section-heading h2,.section-heading p{margin:0}.section-heading h2{color:#111827;font-size:19px}.section-heading--compact h2{font-size:16px}.section-heading p{margin-top:4px;color:#64748b;font-size:14px}.course-exercise-card{display:grid;gap:14px;padding:18px}.course-exercise-skeleton-list{display:grid;gap:14px}.focused-course-exercise-card{border-color:#b8c6dc}.course-exercise-card-main,.course-exercise-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.course-exercise-location,.course-exercise-description,.course-exercise-card h3{margin:0}.course-exercise-location{color:#64748b;font-size:12px;font-weight:700}.course-exercise-card h3{margin-top:5px;color:#111827;font-size:19px;line-height:1.25}.course-exercise-description{max-width:760px;margin-top:7px;color:#53627a;line-height:1.5}.course-exercise-progress-box{display:grid;min-width:150px;gap:10px;justify-items:end;color:#64748b;font-size:12px}.course-exercise-progress-box strong{color:#111827;font-size:20px;line-height:1}.course-exercise-progress-box .progress-meter{width:130px;margin:0}.course-exercise-topic-list{display:grid;border:1px solid #e5e9f0;border-radius:8px;overflow:hidden;background:#fff}.course-exercise-topic{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:11px 14px;background:transparent;text-decoration:none;transition:background-color .16s ease}.course-exercise-topic+.course-exercise-topic{border-top:1px solid #e5e9f0}.course-exercise-topic:hover{background:#fafbfc}.course-exercise-topic--in_progress{background:#fbfdff}.course-exercise-topic strong,.course-exercise-topic span,.course-exercise-topic small{display:block}.course-exercise-topic strong{color:#111827;font-size:14px}.course-exercise-topic span,.course-exercise-topic small{color:#64748b;font-size:12px}.course-exercise-topic .exercise-status-chip{display:inline-flex}.course-exercise-topic .exercise-status-chip--in_progress{color:#1d4ed8}.course-exercise-topic .exercise-status-chip--completed{color:#15803d}.course-exercise-topic-meta{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;color:#64748b;text-align:right;white-space:nowrap}.course-exercise-meta,.course-exercise-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.course-exercise-meta{color:#64748b;font-size:12px}.course-exercise-meta span+span:before{content:"·";margin-right:8px;color:#94a3b8}.builder-layout,.builder-main{display:grid;gap:14px}.schedule-card{border:1px solid #e1e5eb;border-radius:12px;background:#fff}.view-toggle button:hover{filter:brightness(.985)}.empty-state{padding:16px;border:1px dashed #cbd5e1;border-radius:12px;background:#fff;color:#64748b;font-size:14px}.schedule-card{display:grid;gap:16px;padding:18px}.editor-dialog-note{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:#64748b;font-size:13px;font-weight:700}.lms-editor-prose{min-height:500px;padding:30px;border:0;border-radius:0;background:#fff;color:#172033;outline:none}.assignment-teacher-notes-editor .lms-editor-prose{min-height:120px}.lms-editor-prose :where(h1,h2,h3,p,ul,ol,blockquote,pre,hr){margin:0}.lms-editor-prose>*+*{margin-top:1.15em}.lms-editor-prose h1{font-size:28px;font-weight:800;line-height:1.18}.lms-editor-prose h2{font-size:22px;font-weight:750;line-height:1.22}.lms-editor-prose p,.lms-editor-prose li{line-height:1.7}.lms-editor-prose ul,.lms-editor-prose ol{padding-left:1.4em}.lms-editor-prose ul:not([data-type=taskList]):not(.lms-editor-task-list){list-style-type:disc}.lms-editor-prose ol{list-style-type:decimal}.lms-editor-prose ul[data-type=taskList]{padding-left:0}.lms-editor-prose li{padding-left:.25em}.lms-editor-prose li[data-type=taskItem],.lms-editor-prose .lms-editor-task-list li[data-checked]{display:flex;align-items:flex-start;gap:10px;padding-left:0}.lms-editor-prose li[data-type=taskItem]>label,.lms-editor-prose .lms-editor-task-list li[data-checked]>label{display:inline-flex;flex:0 0 auto;align-items:center;margin-top:.35em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lms-editor-prose li[data-type=taskItem]>label input[type=checkbox],.lms-editor-prose .lms-editor-task-list li[data-checked]>label input[type=checkbox]{width:16px;height:16px;margin:0}.lms-editor-prose li[data-type=taskItem]>div,.lms-editor-prose .lms-editor-task-list li[data-checked]>div{min-width:0;flex:1}.lms-editor-prose li+li{margin-top:.35em}.lms-editor-prose li>p,.lms-editor-prose li>div>p{margin:0}.lms-editor-prose li>p+p{margin-top:.45em}.lms-editor-prose li:has(>p:first-child.is-empty+p)>p:first-child.is-empty,.lms-editor-prose li:has(>p:first-child+p)>p:first-child:has(>br.ProseMirror-trailingBreak:only-child){display:none}.lms-editor-prose li:has(>p:first-child.is-empty+p)>p:first-child.is-empty+p,.lms-editor-prose li:has(>p:first-child+p)>p:first-child:has(>br.ProseMirror-trailingBreak:only-child)+p{margin-top:0}.lms-editor-prose blockquote{padding:10px 14px;border-left:4px solid #93c5fd;border-radius:0 8px 8px 0;background:#eff6ff;color:#1e3a8a}.lms-editor-prose pre{overflow-x:auto;padding:16px;border-radius:8px;background:#f7f7f5;color:#1f2937}.lms-editor-prose pre code{padding:0;border:0;background:transparent;color:inherit;font:inherit}.lms-editor-prose hr{border:0;border-top:1px solid #e5e7eb}.lms-editor-inline-code{padding:2px 5px;border-radius:5px;background:#f1f1ef;color:#374151}.lms-editor-link{color:#1d4ed8;text-decoration:underline;text-underline-offset:3px}.lms-editor-task-list{list-style:none;padding-left:0}.lesson-page-shell{min-height:100vh;padding:24px 24px 64px;background:#fff}.lesson-read-utility-row{display:flex;min-height:44px;align-items:center;justify-content:flex-end;gap:16px;margin-bottom:28px}.lesson-read-status-copy{min-width:0;color:#64748b;font-size:13px;font-weight:650}.lesson-read-utility-actions{display:flex;justify-content:flex-end}.lesson-read-canvas,.lesson-editor-canvas{width:100%;max-width:860px;min-width:0;background:#fff}.lesson-read-canvas{margin:0 auto;padding:6px 0 64px}.lesson-read-document-header{margin:0 0 36px;padding:0 30px}.lesson-read-document-header h1{margin:0;color:#111827;font-size:clamp(30px,4vw,44px);font-weight:780;letter-spacing:0;line-height:1.08}.lesson-editor-canvas{min-height:680px;padding:8px 0 72px}.lesson-editor-surface{min-height:640px}.lesson-detail-actions,.lesson-editor-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.course-item-editor-stacked-header{display:grid;gap:18px;margin-bottom:22px;border-bottom:1px solid #e5e7eb;padding-bottom:18px}.course-item-editor-stacked-top-row{display:flex;min-width:0;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.course-item-editor-stacked-back-link{min-width:0}.course-item-editor-stacked-actions{display:flex;min-width:0;justify-content:flex-end}.course-item-editor-stacked-title{min-width:0}.course-item-editor-stacked-title input{width:100%}.course-item-editor-stacked-description{margin:-6px 0 0;max-width:72ch;color:#64748b;font-size:14px;line-height:1.6}.lesson-present-shell{display:grid;min-height:100vh;grid-template-rows:auto minmax(0,1fr);background:#fff}.lesson-present-shell:fullscreen{width:100vw;height:100vh;min-height:100vh}.lesson-present-shell-presenter{background:#f8fafc}.lesson-present-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid #e5e7eb;background:#fffffff5}.lesson-present-back-link{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:7px;color:#2563eb;font-size:14px;font-weight:750;text-decoration:none}.lesson-present-back-link:hover{text-decoration:underline;text-underline-offset:4px}.lesson-present-title{display:grid;min-width:0;justify-items:center;gap:2px;text-align:center}.lesson-present-title span,.lesson-present-title strong{overflow:hidden;max-width:min(42vw,520px);text-overflow:ellipsis;white-space:nowrap}.lesson-present-title span{color:#111827;font-size:14px;font-weight:760}.lesson-present-title strong{color:#64748b;font-size:12px;font-weight:720}.lesson-present-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.lesson-present-stage{display:grid;min-height:0;place-items:start center;overflow-y:auto;padding:54px 28px 72px}.lesson-present-presenter-body{display:grid;min-height:0;grid-template-columns:minmax(0,1fr) 360px}.lesson-present-stage-presenter{padding:36px 28px 56px}.lesson-present-scene{width:min(960px,100%)}.lesson-present-stage-presenter .lesson-present-scene{width:min(820px,100%)}.lesson-present-scene .lms-editor-prose{font-size:18px}.lesson-present-scene .lesson-step-block{border-color:transparent;box-shadow:none}.lesson-present-notes-panel{min-height:0;overflow-y:auto;border-left:1px solid #e2e8f0;background:#fff;padding:28px 24px}.lesson-present-notes-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin-bottom:22px;color:#475569}.lesson-present-notes-header h2{margin:0;color:#111827;font-size:16px;font-weight:780;line-height:1.3}.lesson-present-notes-header p{margin:4px 0 0;color:#64748b;font-size:13px;line-height:1.5}.lesson-present-notes-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.lesson-present-notes-list li,.lesson-present-notes-empty{border:1px solid #f1e4bd;border-radius:8px;background:#fff8e7;color:#463513;padding:14px 16px}.lesson-present-notes-list strong{display:block;color:#7a4e00;font-size:12px;font-weight:780;line-height:1.4;text-transform:uppercase}.lesson-present-notes-list p,.lesson-present-notes-empty{margin:0;font-size:14px;line-height:1.6}.lesson-present-notes-list p{margin-top:8px}.lesson-step-block{display:grid;gap:14px;margin:18px 0;padding:18px 20px;border:1px solid #e7e5df;border-radius:8px;background:#fff;box-shadow:0 1px #0f172a0a}.lesson-step-header{display:grid;min-width:0;gap:6px}.lesson-step-kicker{color:#756d62;font-size:12px;font-weight:750;line-height:1.3;text-transform:uppercase}.lesson-step-header h2{margin:0;color:#111827;font-size:18px;font-weight:760;line-height:1.3}.lesson-step-title-input{width:100%;min-width:0;border:0;background:transparent;color:#111827;font:inherit;outline:none;padding:0;font-size:18px;font-weight:760;line-height:1.3}.lesson-step-title-input::-moz-placeholder{color:#a8a29a}.lesson-step-title-input::placeholder{color:#a8a29a}.lesson-step-title-input:focus{box-shadow:0 2px #bfdbfe}.lesson-step-content{min-width:0}.lesson-step-content>*:first-child{margin-top:0}.lesson-step-content>*:last-child{margin-bottom:0}.lesson-block{position:relative;display:grid;gap:12px;padding:20px 24px;margin:14px 0;border:1px solid transparent;border-radius:8px;background:#f8f8f7;color:#374151;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.lesson-block-editable{cursor:pointer}.lesson-block-editable:hover,.lesson-block-open{background:#f3f3f1;border-color:#e5e5e1}.lesson-block-open{z-index:30;box-shadow:0 8px 28px #0f172a14}.lesson-block-code-playground.lesson-block-open{padding:0;border-color:transparent;background:transparent;box-shadow:none}.lesson-block-code-playground.lesson-block-open .lesson-block-header{padding:12px 14px}.lesson-block-code-playground.lesson-block-open .lesson-block-content{display:none}.lesson-block-teacher-cue{background:#fff8e7}.lesson-block-teacher-cue.lesson-block-editable:hover,.lesson-block-teacher-cue.lesson-block-open{border-color:#f2dfa9;background:#fff4d8}.lesson-block-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-width:0}.lesson-block-header-button{width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.lesson-block-header-button:focus-visible{border-radius:6px;outline:2px solid #2563eb;outline-offset:4px}.lesson-block-icon{display:inline-grid;width:28px;height:28px;place-items:center;border:0;color:#83807a}.lesson-block-teacher-cue .lesson-block-icon{color:#8a5d00}.lesson-block-header strong{overflow-wrap:anywhere;min-width:0;color:#6f6c66;font-size:inherit;font-weight:400;line-height:1.7}.lesson-block-header-meta{display:inline-flex;justify-content:flex-end;min-width:0}.lesson-block-header-badge{display:inline-flex;max-width:160px;min-height:24px;align-items:center;justify-content:center;overflow:hidden;padding:0 9px;border-radius:999px;background:#e8e8e4;color:#625f58;font-size:12px;font-weight:700;line-height:1;text-overflow:ellipsis;white-space:nowrap}.lesson-block-content{display:grid;gap:9px;min-width:0;padding-left:0}.lesson-block-popover{width:100%;margin-top:2px;box-sizing:border-box;overflow:hidden;border:1px solid #dfdfdb;border-radius:10px;background:#fff;box-shadow:0 16px 36px #0f172a1f}.lesson-block-popover-panel{display:grid}.lesson-block-popover-tabs{display:flex;min-width:0;overflow-x:auto;padding:0 16px;border-bottom:1px solid #ecece9}.lesson-block-popover-tab{position:relative;display:inline-flex;min-height:42px;flex:0 0 auto;align-items:center;padding:0 12px;border:0;background:transparent;color:#83807a;font-size:14px;font-weight:650;cursor:pointer}.lesson-block-popover-tab:after{position:absolute;right:10px;bottom:-1px;left:10px;height:2px;border-radius:999px;background:transparent;content:""}.lesson-block-popover-tab:hover,.lesson-block-popover-tab-active{color:#2f2e2a}.lesson-block-popover-tab-active:after{background:#2f2e2a}.lesson-block-popover-body{display:grid;gap:12px;padding:14px 16px 16px}.lesson-block-popover-actions{display:flex;flex-wrap:wrap;gap:8px}.lesson-block-fields{display:grid;grid-template-columns:1fr;gap:11px}.lesson-block-field{display:grid;min-width:0;gap:6px}.lesson-block-field-wide{grid-column:1 / -1}.lesson-block-field>span{color:#6f6c66;font-size:11px;font-weight:700;letter-spacing:0}.lesson-block-field input,.lesson-block-field select,.lesson-block-field textarea{width:100%;min-width:0;border:1px solid #dbdbd7;border-radius:7px;background:#fbfbfb;color:#272723;font-size:14px;font-weight:500}.lesson-block-field input,.lesson-block-field select{min-height:36px;padding:0 10px}.lesson-block-field textarea{min-height:82px;resize:vertical;padding:9px 10px;line-height:1.45}.lesson-block-code-field textarea{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.lesson-block-code-editor-field{gap:7px}.lesson-block-code-editor-frame{overflow:hidden;min-width:0;height:280px;border:1px solid #dbdbd7;border-radius:8px;background:#fff}.lesson-block-code-editor{min-width:0}.lesson-block-field input:focus,.lesson-block-field select:focus,.lesson-block-field textarea:focus{border-color:#2383e2;box-shadow:0 0 0 1px #2383e2;outline:none}.lesson-block-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.lesson-block-checkbox{display:inline-flex;align-items:center;gap:8px;min-width:0;color:#4b4a45;font-size:13px;font-weight:650;line-height:1.45}.lesson-block-checkbox input{width:16px;height:16px;margin:0}.lesson-block-body,.lesson-block-empty,.lesson-block-caption{margin:0;color:#4b4a45;font-size:14px;line-height:1.55}.lesson-block-empty{color:#7b7871;font-weight:600}.lesson-block-image{display:block;width:100%;max-height:520px;-o-object-fit:contain;object-fit:contain;border:1px solid #e1e1dc;border-radius:8px;background:#fff}.lesson-block-caption{color:#68645f;font-size:13px}.lesson-block-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.lesson-block-link{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid #d8d8d3;border-radius:7px;background:#fff;color:#44413c;font-size:13px;font-weight:700;text-decoration:none}.lesson-block-link:hover{background:#f4f4f2}.lesson-block-simple-link{display:inline-flex;align-items:center;gap:8px;min-width:0;width:-moz-fit-content;width:fit-content;max-width:100%;color:#2563eb;font-size:14px;line-height:1.5;text-decoration:none}.lesson-block-simple-link:hover{text-decoration:underline;text-underline-offset:3px}.lesson-block-simple-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-block-bookmark-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-width:0;padding:12px;border:1px solid #ddddda;border-radius:8px;background:#fff;color:#393834;text-decoration:none}.lesson-block-bookmark-card:hover{border-color:#cececa;background:#fbfbfa}.lesson-block-bookmark-icon{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:7px;background:#eeeeeb;color:#6d6962}.lesson-block-bookmark-text{display:grid;min-width:0;gap:3px}.lesson-block-bookmark-text strong,.lesson-block-bookmark-text span,.lesson-block-bookmark-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-block-bookmark-text strong{color:#302f2b;font-size:14px;font-weight:700}.lesson-block-bookmark-text span{color:#5f5c56;font-size:13px}.lesson-block-bookmark-text small{color:#88847c;font-size:12px;font-weight:600}.lesson-block-video-frame{display:block;width:100%;aspect-ratio:16 / 9;border:1px solid #e1e1dc;border-radius:8px;background:#111827}.lesson-code-playground,.lesson-code-playground-static{display:grid;min-width:0;gap:10px}.lesson-code-playground-static{pointer-events:none}.lesson-code-playground-static pre{overflow-x:auto;max-height:280px;margin:0;padding:14px;border:1px solid #dededa;border-radius:8px;background:#fff;color:#1f2937;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55}.lesson-code-playground-editor{overflow:hidden;min-width:0;border:1px solid #dededa;border-radius:8px;background:#fff}.lesson-code-playground-monaco{min-width:0}.lesson-code-playground-diagnostics{display:grid;gap:8px;min-width:0;padding:10px 12px;border:1px solid #e4e4df;border-radius:8px;background:#fff}.lesson-code-playground-diagnostics strong{color:#4b4a45;font-size:12px;font-weight:750}.lesson-code-playground-diagnostics p,.lesson-code-playground-diagnostics ul{margin:0}.lesson-code-playground-diagnostics ul{display:grid;gap:8px;padding-left:0;list-style:none}.lesson-code-playground-diagnostics li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;min-width:0}.lesson-code-playground-diagnostics li p{grid-column:1 / -1;color:#3f3f3a;font-size:13px;line-height:1.45}.lesson-code-playground-diagnostics small{overflow:hidden;color:#6f6c66;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.lesson-code-playground-diagnostic-error,.lesson-code-playground-diagnostic-warning{width:-moz-fit-content;width:fit-content;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:750;line-height:1.4}.lesson-code-playground-diagnostic-error{background:#fee2e2;color:#991b1b}.lesson-code-playground-diagnostic-warning{background:#fef3c7;color:#92400e}@media (max-width: 640px){.lesson-page-shell{padding:28px 18px}.lesson-present-topbar{grid-template-columns:minmax(0,1fr) auto}.lesson-present-title{grid-column:1 / -1;grid-row:2}.lesson-present-controls{grid-column:1 / -1;grid-row:3;justify-content:center}.lesson-present-stage{padding:32px 18px 52px}.lesson-present-presenter-body{grid-template-columns:1fr}.lesson-present-notes-panel{border-top:1px solid #e2e8f0;border-left:0}.lesson-block-fields{grid-template-columns:1fr}.lesson-block{padding:18px 20px}.lesson-block-header{gap:14px}}.lms-editor-prose .is-editor-empty:first-child:before,.lms-editor-prose .is-empty:before{content:attr(data-placeholder);float:left;height:0;color:#94a3b8;pointer-events:none}.lms-editor-prose .lesson-step-block.is-empty:before,.lms-editor-prose .lesson-step-block.is-editor-empty:before{content:none}.lms-editor-command-menu{z-index:90;max-height:320px;overflow-y:auto;min-width:280px;padding:8px;border:1px solid #d7dfeb;border-radius:8px;background:#fff;box-shadow:0 18px 38px #0f172a29}.lms-editor-command-empty{padding:8px;color:#64748b;font-size:13px}.lms-editor-command-section{padding:8px 8px 4px;color:#8a8f98;font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}.lms-editor-command-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border-radius:7px;color:#1f2937;text-align:left}.lms-editor-command-item[aria-selected=true],.lms-editor-command-item:hover{background:#eff6ff}.lms-editor-command-icon{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid #d7dfeb;border-radius:8px;color:#2563eb}.lms-editor-command-item strong,.lms-editor-command-item small{display:block}.lms-editor-command-item strong{font-size:13px}.lms-editor-command-item small{margin-top:2px;color:#64748b;font-size:12px}.lms-editor-bubble{display:inline-flex;max-width:min(520px,calc(100vw - 32px));flex-wrap:wrap;gap:4px;padding:4px;border:1px solid #d7dfeb;border-radius:8px;background:#fff;box-shadow:0 12px 30px #0f172a2e}.lms-editor-link-popover{width:min(360px,calc(100vw - 32px));padding:12px;border:1px solid #dfdfdb;border-radius:10px;background:#fff;box-shadow:0 16px 36px #0f172a24}.lms-editor-link-form{display:grid;gap:12px}.lms-editor-link-form-actions{display:flex;justify-content:flex-end;gap:8px}.lms-editor-link-form-primary,.lms-editor-link-form-secondary{min-height:32px;padding:0 10px;border-radius:7px;font-size:13px;font-weight:700;cursor:pointer}.lms-editor-link-form-primary{border:1px solid #2383e2;background:#2383e2;color:#fff}.lms-editor-link-form-secondary{border:1px solid #d8d8d3;background:#fff;color:#44413c}.lms-editor-bubble-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;min-width:30px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:#334155;font-size:13px;font-weight:700}.lms-editor-bubble-button:hover{background:#eff6ff;color:#1d4ed8}.lms-editor-bubble-button.is-active{background:#f1f5f9;color:#0f172a}.lms-editor-bubble-divider{width:1px;min-height:24px;align-self:center;background:#e5e7eb}.back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;color:#2563eb;font-size:14px;font-weight:700;text-decoration:none}.back-link:hover{text-decoration:underline;text-underline-offset:3px}.item-editor-main,.item-editor-panel{border:1px solid #d7dfeb;border-radius:8px;background:#fff}.item-editor-main{padding:18px}.exercise-setup-card{display:grid;gap:18px;padding:20px;border:1px solid #bfdbfe;border-radius:8px;background:#f8fbff}.exercise-setup-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start}.exercise-setup-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:8px;background:#dbeafe;color:#2563eb}.exercise-setup-header h2{margin:0;color:#111827;font-weight:700;font-size:22px}.exercise-setup-header p,.exercise-category-empty{margin:5px 0 0;color:#64748b;font-size:14px;line-height:1.45}.selected-exercise-set-list,.exercise-library-language-list,.exercise-library-grid{display:grid;gap:12px}.exercise-library-section{display:grid;gap:14px;padding-top:4px}.exercise-library-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.exercise-library-header h2,.exercise-library-set-card h3{margin:0;color:#111827;font-weight:700}.exercise-library-header h2{font-size:20px}.exercise-library-header p,.exercise-library-set-card p{margin:5px 0 0;color:#64748b;font-size:14px;line-height:1.45}.exercise-library-search{display:inline-flex;align-items:center;gap:8px;min-width:240px;min-height:40px;padding:0 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#64748b}.exercise-library-search input{width:100%;border:0;background:transparent;color:#111827;font:inherit;outline:0}.exercise-library-language-card{overflow:hidden;border:1px solid #d7dfeb;border-radius:8px;background:#fff}.exercise-library-language-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:14px 16px;color:#111827;cursor:pointer;list-style:none}.exercise-library-language-summary::-webkit-details-marker{display:none}.exercise-library-language-summary span{display:grid;gap:3px;min-width:0}.exercise-library-language-summary strong{font-size:16px}.exercise-library-language-summary small{color:#64748b;font-size:13px;font-weight:700}.exercise-library-language-summary:after{width:8px;height:8px;border-right:2px solid #64748b;border-bottom:2px solid #64748b;content:"";transform:rotate(45deg);transition:transform .18s ease}.exercise-library-language-card[open] .exercise-library-language-summary:after{transform:rotate(225deg)}.exercise-library-language-card .exercise-library-grid{border-top:1px solid #e5edf7;padding:14px;background:#f8fafc}.exercise-library-grid{grid-template-columns:1fr}.exercise-library-set-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:15px;border:1px solid #e0e7f2;border-radius:8px;background:#fff}.exercise-library-set-preview{display:grid;gap:5px;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left}.exercise-library-set-meta{color:#475569;font-size:13px;font-weight:700;text-transform:capitalize}.exercise-usage-note{color:#2563eb;font-size:12px;font-weight:700}.exercise-library-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.selected-exercise-set-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px 12px;border:1px solid #d7dfeb;border-radius:8px;background:#fff}.selected-exercise-set-main{display:grid;gap:2px;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left}.selected-exercise-set-main strong{overflow:hidden;color:#111827;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.selected-exercise-set-main span{overflow:hidden;color:#64748b;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.selected-exercise-set-main,.exercise-library-set-preview{text-decoration:none}.student-assignment-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.student-assignment-summary span{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border-radius:999px;background:#eef2f7;color:#42526a;font-size:13px;font-weight:700}.student-item-content{max-width:820px}.assignment-detail-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}.assignment-detail-header h1{margin:0;color:#111827;font-size:34px;font-weight:800;line-height:1.12}.assignment-detail-actions{display:flex;align-items:center;gap:10px}.assignment-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:28px;align-items:start}.assignment-detail-layout.student{grid-template-columns:minmax(0,1fr)}.assignment-detail-body{min-width:0}.assignment-summary-panel{display:grid;gap:0;overflow:hidden;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.assignment-summary-panel section{display:grid;gap:12px;padding:15px 16px;border-bottom:1px solid #e2e8f0}.assignment-summary-panel section:last-child{border-bottom:0}.assignment-summary-panel h2,.assignment-summary-list,.assignment-summary-list dt,.assignment-summary-list dd{margin:0}.assignment-summary-panel h2{color:#475569;font-size:12px;font-weight:800;text-transform:uppercase}.assignment-summary-list{display:grid;gap:16px}.assignment-summary-list div{display:grid;gap:3px}.assignment-summary-list dt{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.assignment-summary-list dd{color:#111827;font-size:14px;font-weight:650}.assignment-summary-status{display:inline-flex;align-items:center;gap:7px}.assignment-summary-repo{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 8px;align-items:center;color:#475569;font-size:13px;font-weight:700}.assignment-summary-repo svg{color:#64748b}.assignment-summary-repo a{overflow:hidden;color:#2563eb;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.assignment-summary-repo span{grid-column:2;color:#64748b;font-size:12px;font-weight:700}.assignment-submission-summary{margin:0;color:#334155;font-size:14px;font-weight:650;line-height:1.45}.assignment-repo-card{display:grid;gap:14px;padding:16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;max-width:820px;margin-top:0;margin-bottom:0;background:#fbfcfe;box-shadow:none}.assignment-repo-header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.assignment-repo-icon{display:inline-grid;width:36px;height:36px;place-items:center;border-radius:8px;background:#f1f5f9;color:#475569}.assignment-repo-header h2,.assignment-repo-header p{margin:0}.assignment-repo-header h2{color:#111827;font-size:16px}.assignment-repo-header p{color:#64748b;font-size:13px;font-weight:650;line-height:1.45}.assignment-repo-actions{display:flex;flex-wrap:wrap;gap:10px}.assignment-readme-card,.assignment-teacher-notes-card{max-width:820px;margin-top:18px;overflow:hidden;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 12px 28px #0f172a0b}.assignment-readme-card:first-child,.assignment-teacher-notes-card:first-child{margin-top:0}.assignment-readme-header,.assignment-teacher-notes-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 20px;border-bottom:1px solid #e2e8f0;background:#fff}.assignment-teacher-notes-header{grid-template-columns:minmax(0,1fr)}.assignment-readme-header h2,.assignment-readme-header p,.assignment-teacher-notes-header h2,.assignment-teacher-notes-header p{margin:0}.assignment-readme-header h2,.assignment-teacher-notes-header h2{color:#111827;font-size:14px;font-weight:800}.assignment-readme-header p,.assignment-teacher-notes-header p{color:#64748b;font-size:13px;font-weight:650;line-height:1.45}.assignment-readme-empty{margin:0;padding:20px 22px;color:#64748b;font-size:14px;font-weight:700;line-height:1.55}.github-readme-markdown{padding:30px 34px;color:#24292f;font-size:15px;line-height:1.5;word-break:break-word}.github-readme-markdown>*:first-child{margin-top:0}.github-readme-markdown>*:last-child{margin-bottom:0}.github-readme-markdown h1,.github-readme-markdown h2,.github-readme-markdown h3,.github-readme-markdown h4,.github-readme-markdown h5,.github-readme-markdown h6{margin:24px 0 16px;color:#24292f;font-weight:700;line-height:1.25}.github-readme-markdown h1,.github-readme-markdown h2{padding-bottom:.3em;border-bottom:1px solid #d8dee4}.github-readme-markdown h1{font-size:2em}.github-readme-markdown h2{font-size:1.5em}.github-readme-markdown h3{font-size:1.25em}.github-readme-markdown h4{font-size:1em}.github-readme-markdown p,.github-readme-markdown blockquote,.github-readme-markdown ul,.github-readme-markdown ol,.github-readme-markdown dl,.github-readme-markdown table,.github-readme-markdown pre,.github-readme-markdown details{margin-top:0;margin-bottom:16px}.github-readme-markdown a{color:#0969da;text-decoration:underline;text-underline-offset:2px}.github-readme-markdown a:hover{text-decoration-thickness:2px}.github-readme-markdown strong{font-weight:700}.github-readme-markdown ul,.github-readme-markdown ol{padding-left:2em}.github-readme-markdown li+li{margin-top:.25em}.github-readme-markdown li>p{margin-top:16px}.github-readme-markdown li>p:first-child{margin-top:0}.github-readme-markdown blockquote{padding:0 1em;border-left:.25em solid #d0d7de;color:#57606a}.github-readme-markdown hr{height:.25em;margin:24px 0;border:0;background:#d8dee4}.github-readme-markdown code,.github-readme-markdown kbd,.github-readme-markdown samp{border-radius:6px;background:#afb8c133;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:85%;padding:.2em .4em}.github-readme-code-block{position:relative;overflow:auto;margin-bottom:16px;border-radius:6px;background:#f6f8fa}.github-readme-copy-button{position:absolute;top:8px;right:8px;z-index:1;display:inline-grid;width:30px;height:30px;cursor:pointer;place-items:center;border:1px solid #d0d7de;border-radius:6px;background:#fff;color:#57606a;box-shadow:0 1px #1b1f240a}.github-readme-copy-button:hover{background:#f8fafc;color:#24292f}.github-readme-copy-button:focus-visible{outline:2px solid #0969da;outline-offset:2px}.github-readme-code-block code{padding:0;background:transparent;font-size:inherit}.github-readme-table-wrapper{overflow-x:auto;margin-bottom:16px}.github-readme-table-wrapper table{display:table;width:-moz-max-content;width:max-content;max-width:100%;margin-bottom:0;border-spacing:0;border-collapse:collapse}.github-readme-markdown th,.github-readme-markdown td{padding:6px 13px;border:1px solid #d0d7de}.github-readme-markdown tr:nth-child(2n){background:#f6f8fa}.github-readme-markdown img{max-width:100%;box-sizing:content-box;background:#fff}.github-readme-markdown input[type=checkbox]{margin:0 .2em .25em -1.4em;vertical-align:middle}.github-readme-markdown .contains-task-list{list-style:none}.github-readme-markdown .task-list-item{list-style-type:none}.assignment-teacher-notes-content{padding:18px}.assignment-work-card,.assignment-feedback-card{max-width:820px;margin-top:18px;border:1px solid #e1e5eb;border-radius:12px;background:#fff}.assignment-work-card{display:grid;gap:18px;padding:18px}.assignments-page,.grades-page{padding:48px 44px 64px}.grades-page .page-inner{width:min(100%,1440px)}.grades-page--student .page-inner{width:min(100%,860px)}.assignment-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}.assignment-attention-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;margin-top:24px;padding:22px 24px;border:1px solid #d8e1ee;border-radius:12px;background:#fff}.assignment-attention-icon{display:inline-grid;width:42px;height:42px;place-items:center;border:1px solid #dbeafe;border-radius:10px;background:#eff6ff;color:#2563eb}.assignment-attention-copy,.assignment-attention-copy h2,.assignment-attention-copy p{margin:0}.assignment-attention-copy h2{margin-top:3px;color:#111827;font-size:24px;line-height:1.15}.assignment-attention-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:11px}.assignment-attention-row a{color:#101522;font-size:15px;font-weight:850;text-decoration:none}.assignment-attention-row a:hover{color:#2563eb;text-decoration:underline;text-underline-offset:3px}.assignment-attention-meta,.assignment-attention-note{display:block;margin-top:3px;color:#64748b;font-size:13px;font-weight:750}.assignment-attention-action{white-space:nowrap}.assignment-summary-card,.assignments-empty-state,.assignments-table-card{border:1px solid #e1e5eb;border-radius:12px;background:#fff}.assignment-summary-card{display:flex;align-items:center;gap:10px;padding:12px;--assignment-card-accent: #64748b;--assignment-card-accent-bg: #f1f5f9;--assignment-card-accent-border: #e2e8f0}.assignment-summary-grid--quiet .assignment-summary-card{background:#ffffffb8}.assignment-summary-card--blue{--assignment-card-accent: #2563eb;--assignment-card-accent-bg: #eff6ff;--assignment-card-accent-border: #dbeafe}.assignment-summary-card--green{--assignment-card-accent: #15803d;--assignment-card-accent-bg: #ecfdf3;--assignment-card-accent-border: #bbf7d0}.assignment-summary-card--amber{--assignment-card-accent: #a16207;--assignment-card-accent-bg: #fffbeb;--assignment-card-accent-border: #f7e4b5}.assignment-summary-card>svg{width:32px;height:32px;flex:0 0 auto;padding:7px;border:1px solid var(--assignment-card-accent-border);border-radius:10px;background:var(--assignment-card-accent-bg);color:var(--assignment-card-accent)}.assignment-summary-card strong,.assignment-summary-card span{display:block}.assignment-summary-card strong{color:#111827;font-size:18px;line-height:1.05}.assignment-summary-card span{margin-top:4px;color:#64748b;font-size:12px;font-weight:750}.assignment-filter-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0 14px}.assignment-filter-button{display:inline-flex;min-height:36px;align-items:center;gap:8px;padding:0 12px;border:1px solid #dbe3ee;border-radius:999px;background:#fff;color:#475569;font-size:13px;font-weight:800}.assignment-filter-button span{display:inline-grid;min-width:22px;height:22px;place-items:center;border-radius:999px;background:#f1f5f9;color:#64748b;font-size:11px}.assignment-filter-button:hover,.assignment-filter-button.active{border-color:#c8d6e8;background:#edf2f8;color:#111827}.assignment-filter-button.active span{background:#2563eb;color:#fff}.assignments-empty-state,.grades-empty-state,.students-empty-state{border-color:#e1e5eb;border-radius:12px}.assignments-empty-state{display:flex;gap:14px;align-items:flex-start;margin-top:22px;padding:18px;color:#64748b}.assignments-empty-state svg{flex:0 0 auto;color:#2563eb}.assignments-empty-state h2,.assignments-empty-state p,.assignments-table-header h2,.assignments-table-header p{margin:0}.assignments-empty-state h2{color:#111827;font-size:18px}.assignments-empty-state p{margin-top:4px;max-width:680px;line-height:1.5}.assignments-table-card{overflow:hidden}.assignments-table-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e7edf4}.assignments-table-header h2{color:#111827;font-size:18px}.assignments-table-header p,.assignments-table-header>span{margin-top:4px;color:#64748b;font-size:13px}.assignments-table-scroll{overflow-x:auto}.assignments-table{width:100%;min-width:820px;border-collapse:collapse}.assignments-table th,.assignments-table td{padding:16px 18px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:middle}.assignments-table th,.grades-table thead th,.students-table thead th,.admin-roster-table thead th{background:#f8fafc;color:#5f6d82;font-size:12px;font-weight:850;letter-spacing:0;text-transform:uppercase}.grades-table th,.grades-table td,.students-table th,.students-table td,.admin-roster-table th,.admin-roster-table td{border-bottom-color:#edf0f4}.assignments-table tbody tr:last-child td{border-bottom:0}.assignments-table tbody tr:hover{background:#fbfcfe}.assignment-title-cell{display:grid;gap:7px;min-width:260px}.assignment-title-cell>a{width:-moz-fit-content;width:fit-content;color:#101522;font-size:15px;font-weight:850;text-decoration:none}.assignment-title-cell>a:hover{color:#2563eb;text-decoration:underline;text-underline-offset:3px}.assignment-meta-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.assignment-meta-row>span,.assignment-source-pill,.assignment-publish-badge,.assignment-lifecycle-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:5px;min-height:24px;padding:0 8px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:850;white-space:nowrap}.assignment-meta-row>span{background:#f1f5f9;color:#475569}.assignment-source-pill{background:#eef2f7;color:#475569}.assignment-source-pill.github{background:#f3f4f6;color:#1f2937}.assignment-module-name{color:#42526a;font-size:13px;font-weight:750}.assignment-due-date,.assignment-submission-count{display:inline-flex;align-items:center;gap:8px;color:#334155;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}a.assignment-submission-count:hover{color:#2563eb;text-decoration:underline;text-underline-offset:3px}.assignment-due-date svg,.assignment-submission-count svg{color:#64748b}.assignment-due-date small,.assignment-submission-count small{display:block;margin-top:2px;color:#64748b;font-size:11px;font-weight:750}.assignment-muted{color:#94a3b8;font-size:13px;font-weight:700}.assignment-status-stack{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.assignment-lifecycle-badge.published{border-color:#e2e8f0;background:#eef2f7;color:#475569}.assignment-lifecycle-badge.draft{border-color:#e2e8f0;background:#f1f5f9;color:#475569}.assignment-lifecycle-badge.review,.assignment-lifecycle-badge.submitted{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.assignment-lifecycle-badge.graded{border-color:#bbf7d0;background:#ecfdf3;color:#15803d}.assignment-lifecycle-badge.missing{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.assignment-publish-badge{border-color:#e2e8f0;background:#f8fafc;color:#64748b}.assignment-publish-badge.published{border-color:#bbf7d0;background:#ecfdf3;color:#15803d}.assignment-publish-badge.scheduled{border-color:#fde68a;background:#fffbeb;color:#a16207}.assignment-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.assignment-row-action{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;color:#2563eb;font-size:13px;font-weight:850;text-decoration:none;white-space:nowrap}.assignment-row-action.review{color:#1d4ed8}.assignment-row-action:hover{text-decoration:underline;text-underline-offset:3px}.assignments-filter-empty{padding:20px;color:#64748b;text-align:center}.grades-empty-state,.grades-table-card,.student-grade-card,.grade-summary-card{border:1px solid #e1e5eb;border-radius:12px;background:#fff}.grades-empty-state{display:flex;gap:14px;align-items:flex-start;margin-top:22px;padding:18px;color:#64748b}.grades-empty-state svg{flex:0 0 auto;color:#2563eb}.grades-empty-state h2,.grades-empty-state p,.grade-summary-content strong,.grade-summary-content span,.student-grade-card h2,.student-grade-meta-row,.student-grade-meta-row span,.grade-cell strong,.grade-feedback{margin:0}.grades-empty-state h2{color:#111827;font-size:18px}.grades-empty-state p{margin-top:4px;max-width:660px;line-height:1.5}.grades-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.grade-summary-card{display:grid;position:relative;gap:12px;overflow:hidden;padding:16px;--grade-card-accent: #2563eb;--grade-card-accent-bg: #eff6ff;--grade-card-accent-border: #dbeafe}.grade-summary-card:before{content:none}.grade-summary-card--green,.grade-summary-card--amber{--grade-card-accent: #2563eb;--grade-card-accent-bg: #eff6ff;--grade-card-accent-border: #dbeafe}.grade-summary-topline{display:flex;gap:12px;align-items:center;min-width:0}.grade-summary-icon{display:inline-grid;flex:0 0 auto;width:42px;height:42px;place-items:center;border:1px solid var(--grade-card-accent-border);border-radius:10px;background:var(--grade-card-accent-bg);color:var(--grade-card-accent)}.grade-summary-content{display:grid;gap:5px;min-width:0}.grade-summary-content strong{color:#111827;font-size:27px;line-height:1;overflow-wrap:anywhere}.grade-summary-content span{color:#64748b;font-size:13px;font-weight:800}.grade-summary-progress{overflow:hidden;height:6px;border-radius:999px;background:#edf2f7}.grade-summary-progress span{display:block;width:var(--grade-progress, 0%);height:100%;border-radius:inherit;background:var(--grade-card-accent)}.grades-table-card{display:block;gap:0;overflow:hidden;margin-top:0;padding:0}.grades-table-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:760px}.grades-page .page-header .grades-table-toolbar{flex:0 1 760px}.grades-average-pill{display:inline-flex;align-items:center;min-height:40px;border:1px solid #dbeafe;border-radius:8px;padding:0 12px;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:800;white-space:nowrap}.grades-filter-field{display:block;min-width:180px}.grades-filter-field input{height:40px;min-width:0}.grades-table-scroll{overflow-x:auto}.grades-table{width:100%;border-collapse:separate;border-spacing:0;color:#111827}.grades-table th,.grades-table td{border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;padding:10px 12px;text-align:left;vertical-align:middle}.grades-table th:last-child,.grades-table td:last-child{border-right:0}.grades-table thead th{background:#f8fafc;color:#475569;font-size:12px;font-weight:850;letter-spacing:0;text-transform:uppercase}.grades-table thead th:first-child{border-top-left-radius:11px}.grades-table thead th:last-child{border-top-right-radius:11px}.grades-table thead th:first-child,.grades-table tbody th{min-width:220px}.grades-table thead th:not(:first-child):not(:last-child),.grades-table tbody td:not(:last-child){min-width:180px}.grades-table thead th:last-child,.grades-table tbody td:last-child{min-width:220px}.grades-table thead th:nth-last-child(2),.grades-table tbody td:nth-last-child(2){min-width:140px}.grades-table thead th span,.grades-table tbody th strong{display:block;color:#111827;font-size:14px;letter-spacing:0;text-transform:none}.grades-table thead th small,.grades-table tbody th span{display:block;margin-top:3px;color:#64748b;font-size:12px;font-weight:700;letter-spacing:0;text-transform:none}.grade-item-header{display:grid;gap:6px;justify-items:start}.final-grade-header{gap:8px}.grade-item-type-badge{display:inline-flex;align-items:center;gap:5px;width:-moz-fit-content;width:fit-content;min-height:22px;padding:0 8px;border:1px solid var(--grade-item-border);border-radius:999px;background:var(--grade-item-bg);color:var(--grade-item-color);font-size:11px;font-weight:800;letter-spacing:0;text-transform:none}.grades-table thead th .grade-item-type-badge{display:inline-flex}.grade-item-icon{display:inline-grid;width:40px;height:40px;place-items:center;border:1px solid var(--grade-item-border);border-radius:10px;background:var(--grade-item-bg);color:var(--grade-item-color)}.grade-item-type-badge--assignment,.grade-item-icon--assignment{--grade-item-bg: #f5f3ff;--grade-item-border: #ddd6fe;--grade-item-color: #7c3aed}.grade-item-type-badge--exercise,.grade-item-icon--exercise{--grade-item-bg: #eff6ff;--grade-item-border: #cfe0ff;--grade-item-color: #2563eb}.grade-item-type-badge--page,.grade-item-icon--page{--grade-item-bg: #f5f7fa;--grade-item-border: #dfe5ee;--grade-item-color: #53627a}.grade-item-icon--final{--grade-item-bg: #ecfdf3;--grade-item-border: #bbf7d0;--grade-item-color: #15803d}.grades-table tbody tr:last-child th,.grades-table tbody tr:last-child td{border-bottom:0}.gradebook-editable-cell{display:grid;position:relative;gap:5px;min-height:34px;margin:-5px -8px;border:1px solid transparent;border-radius:6px;padding:5px 8px;cursor:cell;outline:none}.gradebook-editable-cell:hover,.gradebook-editable-cell.is-focused{border-color:#b8cdfd;background:#f8fbff}.gradebook-editable-cell.is-focused{z-index:20;box-shadow:0 0 0 2px #2563eb24}.gradebook-cell-main{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.gradebook-cell-main strong{overflow:hidden;color:#111827;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.gradebook-cell-menu-trigger{display:inline-grid;flex:0 0 auto;width:24px;height:24px;place-items:center;border:1px solid #d5ddea;border-radius:6px;background:#fff;color:#2563eb;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease,border-color .15s ease,background .15s ease}.gradebook-editable-cell:hover .gradebook-cell-menu-trigger,.gradebook-editable-cell.is-focused .gradebook-cell-menu-trigger,.gradebook-editable-cell.is-open .gradebook-cell-menu-trigger{opacity:1;pointer-events:auto}.gradebook-cell-menu-trigger:hover{border-color:#b8cdfd;background:#eff6ff}.gradebook-cell-dropdown{display:grid;position:fixed;z-index:1000;width:-moz-max-content;width:max-content;min-width:150px;gap:4px;border:1px solid #d5ddea;border-radius:8px;padding:6px;background:#fff;box-shadow:0 18px 45px #0f172a29}.gradebook-menu-option{width:100%;min-height:32px;border:0;border-radius:6px;padding:0 10px;background:transparent;color:#111827;cursor:pointer;font:inherit;font-size:13px;font-weight:800;text-align:left}.gradebook-menu-option:hover,.gradebook-menu-option.is-selected{background:#eff6ff;color:#1d4ed8}.gradebook-points-field{display:grid;gap:5px;padding:4px}.gradebook-points-field span{color:#64748b;font-size:11px;font-weight:800}.gradebook-points-field input{width:120px;min-height:34px;border:1px solid #d5ddea;border-radius:7px;padding:0 9px;color:#111827;font:inherit;font-size:13px;font-weight:800}.gradebook-cell-review-link{font-size:11px}.grade-cell{display:grid;gap:7px;min-width:120px}.grade-cell-status-row{display:flex;flex-wrap:wrap;gap:5px}.grade-status-pill,.grade-feedback{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:5px;min-height:24px;padding:0 8px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:700}.grade-status-pill.graded{border-color:#d8e7dd;background:#f3faf5;color:#3f6f4d}.grade-status-pill.reviewed{border-color:#bbf7d0;background:#ecfdf3;color:#15803d}.grade-status-pill.submitted{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.grade-status-pill.late{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.grade-status-pill.ungraded{border-color:#e1e7ef;background:#f8fafc;color:#64748b}.grade-review-link{display:inline-flex;align-items:center;gap:4px;width:-moz-fit-content;width:fit-content;min-height:24px;color:#2563eb;font-size:12px;font-weight:800;text-decoration:none}.grade-review-link:hover{text-decoration:underline;text-underline-offset:3px}.final-course-grade-cell{min-width:170px}.grade-feedback{border-color:#dbeafe;background:#eff6ff;color:#1d4ed8}.grade-submission-meta{display:flex;flex-wrap:wrap;gap:5px 9px;color:#64748b;font-size:12px;font-weight:750}.grade-submission-meta span,.grade-submission-meta a{display:inline-flex;align-items:center;gap:4px;color:inherit;text-decoration:none}.grade-submission-meta a:hover{color:#2563eb}.grade-submission-meta.missing{color:#475569}.student-grades-list{display:grid;gap:14px;margin-top:18px}.student-grade-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:18px}.student-grade-card--final{grid-template-columns:auto minmax(0,1fr) auto;border-color:#bbf7d0;background:#fbfefc}.student-grade-card-main{min-width:0}.student-grade-card h2{color:#111827;font-size:18px}.student-grade-meta-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:7px;color:#64748b;font-size:13px;font-weight:700}.students-page{padding:48px 44px 64px}.students-empty-state,.students-table-card,.student-summary-card{border:1px solid #e1e5eb;border-radius:12px;background:#fff}.students-empty-state{display:flex;gap:14px;align-items:flex-start;margin-top:22px;padding:18px;color:#64748b}.students-empty-state svg{flex:0 0 auto;color:#2563eb}.students-empty-state h1,.students-empty-state p,.student-summary-card strong,.student-summary-card p,.students-metric-stack strong,.students-metric-stack span{margin:0}.students-empty-state h1{color:#111827;font-size:22px;font-weight:800}.students-empty-state p{margin-top:4px;max-width:620px;line-height:1.5}.students-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}.students-summary-loading{grid-column:1 / -1}.student-summary-card{display:flex;gap:12px;align-items:center;padding:16px}.student-summary-card>span{display:inline-grid;flex:0 0 auto;width:38px;height:38px;place-items:center;border-radius:8px;background:#eff6ff;color:#2563eb}.student-summary-card strong{display:block;color:#111827;font-size:24px;line-height:1}.student-summary-card p{margin-top:4px;color:#64748b;font-size:13px;font-weight:800}.students-table-card{display:grid;gap:16px;margin-top:18px;padding:18px}.students-table-heading{align-items:flex-start}.students-role-filter-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.students-role-filter-button{display:inline-flex;min-height:34px;align-items:center;gap:7px;padding:0 11px;cursor:pointer;border:1px solid #dbe3ee;border-radius:999px;background:#fff;color:#475569;font-size:13px;font-weight:850}.students-role-filter-button span{display:inline-grid;min-width:22px;height:22px;place-items:center;border-radius:999px;background:#eef2f7;color:#64748b;font-size:12px}.students-role-filter-button:hover,.students-role-filter-button.active{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.students-role-filter-button.active span{background:#dbeafe;color:#1d4ed8}.students-table-scroll{overflow-x:auto}.students-table-scroll:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:3px}.students-table{width:100%;min-width:900px;border-collapse:collapse;color:#111827}.students-table th,.students-table td{border-bottom:1px solid #e2e8f0;padding:14px 12px;text-align:left;vertical-align:top}.students-table thead th{background:#f8fafc;color:#475569;font-size:12px;font-weight:850;letter-spacing:0;text-transform:uppercase}.students-table tbody th strong,.students-table tbody th span,.students-table tbody th small{display:block}.students-table tbody th strong{color:#111827;font-size:14px}.students-table tbody th span,.students-table tbody th small,.students-metric-stack span{margin-top:3px;color:#475569;font-size:12px;font-weight:700}.students-table tbody th small{width:-moz-fit-content;width:fit-content;padding:2px 8px;border:1px solid #e2e8f0;border-radius:999px;background:#eef2f7}.students-table tbody tr:last-child th,.students-table tbody tr:last-child td{border-bottom:0}.user-identity{display:flex!important;align-items:center;gap:10px;min-width:0}.user-identity>div{display:grid;gap:3px;min-width:0}.user-avatar{width:38px;height:38px;flex:0 0 auto;border-radius:999px;-o-object-fit:cover;object-fit:cover}.user-avatar.fallback{display:inline-flex;align-items:center;justify-content:center;background:#dbeafe;color:#1d4ed8;font-size:14px;font-weight:900}.students-metric-stack{display:grid;gap:3px;min-width:130px}.students-metric-stack strong{color:#111827;font-size:14px}.students-last-activity{display:inline-flex;align-items:center;gap:6px;color:#64748b;font-size:13px;font-weight:700;white-space:nowrap}.students-login-id,.students-total-activity{color:#334155;font-size:13px;font-weight:750;white-space:nowrap}.students-role-pill{display:inline-flex;min-height:28px;align-items:center;padding:0 9px;border-radius:999px;font-size:12px;font-weight:850;white-space:nowrap}.students-role-pill.student{background:#eff6ff;color:#1d4ed8}.students-role-pill.teacher{background:#f0fdf4;color:#166534}.students-row-actions{display:flex;justify-content:flex-end;min-width:34px}.assignment-work-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.assignment-work-icon{display:inline-grid;width:40px;height:40px;place-items:center;border-radius:8px;background:#eff6ff;color:#2563eb}.assignment-work-header h2,.assignment-work-header p,.assignment-feedback-card p,.assignment-feedback-card strong,.assignment-review-meta strong,.assignment-review-meta span,.assignment-review-meta small,.assignment-review-summary span,.form-save-note{margin:0}.assignment-work-header h2{color:#111827;font-size:18px}.assignment-work-header p,.assignment-review-meta small,.assignment-review-summary span{color:#64748b;font-size:13px;font-weight:700}.assignment-submission-form,.assignment-review-form{display:grid;gap:12px}.assignment-form-field{display:grid;gap:6px}.assignment-submission-form label,.assignment-review-form label{color:#475569;font-size:13px;font-weight:700}.assignment-submission-form label>span,.assignment-review-form label>span{display:inline-flex;align-items:center;gap:6px}.assignment-submission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.assignment-submission-form textarea,.assignment-submission-form input,.assignment-review-form textarea,.assignment-review-form input,.assignment-review-form select{width:100%;border:1px solid #cfd8e6;border-radius:8px;background:#fff;color:#111827;font:inherit;font-size:14px}.assignment-submission-form textarea,.assignment-review-form textarea{resize:vertical;min-height:96px;padding:10px 11px;line-height:1.5}.assignment-submission-form input,.assignment-review-form input,.assignment-review-form select{height:40px;padding:0 11px}.assignment-submission-form textarea:focus-visible,.assignment-submission-form input:focus-visible,.assignment-review-form textarea:focus-visible,.assignment-review-form input:focus-visible,.assignment-review-form select:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px;border-color:#2563eb}.assignment-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.form-save-note{display:inline-flex;align-items:center;min-height:32px;padding:0 2px;color:#2563eb;font-size:13px;font-weight:700}.form-save-note.error{padding:6px 10px;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#b91c1c}.form-save-note.success{color:#2563eb}.submission-status-badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border:1px solid #e2e8f0;border-radius:999px;background:#eef2f7;color:#475569;font-size:12px;font-weight:800;white-space:nowrap}.submission-status-badge.submitted{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.submission-status-badge.reviewed{border-color:#bbf7d0;background:#ecfdf3;color:#15803d}.submission-link-verification{display:inline-flex;width:-moz-max-content;width:max-content;align-items:center;gap:6px;min-height:28px;padding:0 10px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:800}.submission-link-verification.public{border-color:#bbf7d0;background:#ecfdf3;color:#15803d}.submission-link-verification.not-accessible{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.submission-link-verification.unchecked{border-color:#e2e8f0;background:#eef2f7;color:#475569}.assignment-feedback-card{display:grid;gap:10px;padding:14px;background:#f8fbff}.assignment-feedback-card div{display:flex;align-items:center;gap:8px;color:#166534}.assignment-feedback-card span{justify-self:start;padding:4px 9px;border-radius:999px;background:#eaf5ee;color:#166534;font-size:13px;font-weight:800}.assignment-feedback-card p{color:#334155;line-height:1.5}.assignment-review-section,.assignment-review-form{gap:0}.assignment-review-section-block{display:grid;gap:10px;padding:0 0 16px}.assignment-review-section-block.is-divided{padding-top:16px;border-top:1px solid #e2e8f0}.assignment-review-meta{display:grid;gap:4px;padding-bottom:8px}.assignment-review-meta span{color:#475569;font-size:13px;font-weight:750}.assignment-review-meta strong{color:#111827;font-size:15px;font-weight:850}.assignment-review-summary{display:flex;align-items:center;justify-content:space-between;gap:8px}.assignment-review-content{display:grid;gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.assignment-review-content p{margin:0;color:#334155;font-size:13px;line-height:1.5}.assignment-review-content a{display:inline-flex;align-items:center;gap:6px;color:#2563eb;font-size:13px;font-weight:700;text-decoration:none}.page-back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;color:#475569;font-size:14px;font-weight:800;text-decoration:none}.page-back-link:hover{color:#111827}.assignment-submissions-overview-page{background:#f5f7fb}.assignment-submissions-overview-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #e2e8f0}.assignment-submissions-overview-header h1,.assignment-submissions-overview-header p,.assignment-submissions-table-header h2,.assignment-submissions-table-header p{margin:0}.assignment-submissions-overview-header h1{color:#111827;font-size:34px;font-weight:800;line-height:1.12}.assignment-submissions-overview-header p:not(.eyebrow){max-width:720px;margin-top:8px;color:#475569;font-size:15px;line-height:1.5}.assignment-submissions-overview-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.assignment-submissions-summary-strip{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.assignment-submissions-summary-pill{display:inline-flex;min-height:36px;align-items:center;gap:7px;padding:0 12px;border:1px solid #dbe3ee;border-radius:999px;background:#fff;color:#475569;font-size:13px;font-weight:800}.assignment-submissions-summary-pill strong{color:#111827;font-size:15px}.assignment-submissions-summary-pill.submitted strong{color:#1d4ed8}.assignment-submissions-summary-pill.review strong{color:#15803d}.assignment-submissions-summary-pill.late strong{color:#c2410c}.assignment-submissions-summary-pill.missing strong{color:#b91c1c}.assignment-submissions-overview-card{overflow:hidden;border:1px solid #dbe3ee;border-radius:8px;background:#fff}.assignment-submissions-table-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid #e2e8f0}.assignment-submissions-table-header h2{color:#111827;font-size:19px;line-height:1.2}.assignment-submissions-table-header p{margin-top:5px;color:#64748b;font-size:13px;font-weight:650;line-height:1.45}.assignment-submissions-table-header>span{display:inline-flex;min-height:30px;align-items:center;padding:0 10px;border-radius:999px;background:#eef2f7;color:#475569;font-size:13px;font-weight:850;white-space:nowrap}.assignment-submissions-loading{padding:18px 20px;color:#64748b;font-size:14px;font-weight:700}.assignment-submissions-table-scroll{overflow-x:auto}.assignment-submissions-overview-table{width:100%;min-width:760px;border-collapse:collapse}.assignment-submissions-overview-table th,.assignment-submissions-overview-table td{padding:13px 14px;border-bottom:1px solid #e2e8f0;color:#334155;font-size:13px;text-align:left;vertical-align:middle}.assignment-submissions-overview-table thead th{background:#f8fafc;color:#53627a;font-size:12px;font-weight:850;text-transform:uppercase}.assignment-submissions-overview-table tbody tr:last-child th,.assignment-submissions-overview-table tbody tr:last-child td{border-bottom:0}.assignment-submissions-overview-table tbody tr:hover{background:#fbfdff}.submission-overview-student,.submission-overview-submission{display:grid;gap:3px}.submission-overview-student strong{color:#111827;font-size:14px}.submission-overview-student small,.submission-overview-submission>span{color:#64748b;font-size:12px;font-weight:700}.submission-overview-submission{min-width:300px;gap:6px}.submission-overview-primary{display:flex;min-width:0;align-items:center;gap:8px}.submission-overview-primary>strong{color:#111827;font-size:13px;font-weight:850}.submission-overview-primary>span{color:#64748b;font-size:12px;font-weight:800;white-space:nowrap}.submission-overview-meta{display:flex;flex-wrap:wrap;gap:4px 10px;color:#64748b;font-size:12px;font-weight:700}.submission-overview-meta>span{white-space:nowrap}.submission-overview-meta .late{color:#b91c1c}.submission-overview-repo-link,.submission-overview-token,.submission-overview-badge,.submission-checks-badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;max-width:220px}.submission-overview-repo-link,.submission-overview-token.link{color:#2563eb;font-weight:800;text-decoration:none}.submission-overview-repo-link{display:inline-block;max-width:min(460px,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.submission-overview-repo-link:hover{text-decoration:underline;text-underline-offset:3px}.submission-overview-check.passed{color:#166534}.submission-overview-check.failed,.submission-overview-check.unavailable{color:#b91c1c}.submission-overview-check.running{color:#1d4ed8}.submission-overview-check.not-configured,.submission-overview-check.workflow-missing,.submission-overview-check.workflow-changed{color:#9a3412}.submission-overview-token{color:#334155;font-weight:800}.submission-overview-muted{color:#475569;font-size:13px;font-weight:750}.submission-overview-date,.submission-overview-grade{color:#334155;font-size:13px;font-weight:750;white-space:nowrap}.submission-overview-badge,.submission-checks-badge{padding:0 9px;border-radius:999px;font-size:12px;font-weight:850;white-space:nowrap}.submission-overview-badge.on-time{background:#ecfdf3;color:#166534}.submission-overview-badge.late,.submission-checks-badge.not-configured,.submission-checks-badge.workflow-missing,.submission-checks-badge.workflow-changed{background:#fff7ed;color:#9a3412}.submission-overview-badge.missing,.submission-checks-badge.not-run{background:#f1f5f9;color:#475569}.submission-checks-badge.passed{background:#ecfdf3;color:#166534}.submission-checks-badge.failed,.submission-checks-badge.unavailable{background:#fef2f2;color:#b91c1c}.submission-checks-badge.running{background:#eff6ff;color:#1d4ed8}.assignment-auto-check-card{display:grid;gap:14px;padding:14px;border:1px solid #dbe3ee;border-radius:8px;background:#f8fafc}.assignment-auto-check-card>div:first-child{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}.assignment-auto-check-card h3{margin:0;color:#111827;font-size:14px}.assignment-auto-check-card p{margin:4px 0 0;color:#64748b;font-size:13px;font-weight:700;line-height:1.45}.assignment-auto-check-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}.assignment-auto-check-actions a{display:inline-flex;align-items:center;gap:6px;color:#2563eb;font-size:13px;font-weight:800;text-decoration:none}.assignment-review-shell,.assignment-speedgrader-page{min-height:100vh;background:#f5f7fb}.assignment-review-shell>.course-workspace-main-skip,.course-exercise-shell>.course-workspace-main-skip{min-height:100vh}.assignment-speedgrader-page{display:grid;grid-template-rows:auto minmax(0,1fr);color:#111827}.assignment-speedgrader-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;min-height:78px;padding:12px 24px;border-bottom:1px solid #e2e8f0;background:#fff}.assignment-speedgrader-title{display:flex;min-width:0;align-items:center;gap:22px}.assignment-speedgrader-title h1,.assignment-speedgrader-title p,.speedgrader-position,.submission-reader-card h2,.submission-reader-card h3,.submission-reader-card p,.submission-reader-meta,.submission-reader-meta dt,.submission-reader-meta dd,.submission-document-kicker,.submission-empty-work h2,.submission-empty-work p{margin:0}.assignment-speedgrader-title h1{overflow:hidden;color:#111827;font-size:20px;font-weight:800;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.assignment-speedgrader-page .eyebrow{color:#475569}.speedgrader-back-link{display:inline-flex;align-items:center;gap:8px;color:#475569;font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap}.speedgrader-back-link:hover{color:#111827}.speedgrader-top-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:flex-end}.speedgrader-position{display:inline-flex;align-items:center;color:#334155;font-size:13px;font-weight:850;text-align:center;white-space:nowrap}.speedgrader-student-select-trigger{width:220px}.speedgrader-nav-icon-button{display:inline-grid;width:38px;height:38px;place-items:center;border:1px solid #cfd8e6;border-radius:8px;background:#fff;color:#334155;cursor:pointer}.speedgrader-nav-icon-button:hover{border-color:#94a3b8;background:#f8fafc;color:#111827}.speedgrader-nav-icon-button:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}.speedgrader-nav-icon-button:disabled{color:#94a3b8;cursor:not-allowed;opacity:.65}.assignment-speedgrader-layout{display:grid;grid-template-columns:minmax(0,1fr) 10px var(--speedgrader-review-panel-width, 360px);min-height:0;overflow:hidden}.speedgrader-workspace{min-width:0;overflow:auto}.speedgrader-review-panel{display:grid;align-content:start;gap:18px;overflow:auto;padding:18px;background:#fff}.speedgrader-resize-handle{display:grid;width:10px;min-width:10px;place-items:center;padding:0;cursor:col-resize;border:0;border-right:1px solid #cbd5e1;border-left:1px solid #e2e8f0;background:#f8fafc;touch-action:none}.speedgrader-resize-handle span{display:block;width:2px;height:48px;border-radius:999px;background:#cbd5e1}.speedgrader-resize-handle:hover,.speedgrader-resize-handle:focus-visible{background:#eef2ff}.speedgrader-resize-handle:hover span,.speedgrader-resize-handle:focus-visible span{background:#2563eb}.speedgrader-resize-handle:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:-3px}.speedgrader-review-panel .assignment-review-section{padding:0;border:0;background:transparent}.speedgrader-review-panel .assignment-review-form textarea{min-height:180px}.submission-reader-card{display:grid;grid-template-rows:minmax(0,1fr);min-height:100%}.submission-document-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid #dbe3ee;background:#f5f7fb}.submission-toolbar-status{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.submission-timing-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;font-size:12px;font-weight:850}.submission-timing-badge.late{background:#fee2e2;color:#991b1b}.submission-reader-card h2{color:#111827;font-size:22px;line-height:1.15}.submission-artifact-stage{display:flex;justify-content:center;overflow:auto;padding:34px 28px 56px;background:#f5f7fb}.submission-document-page{display:grid;align-content:start;gap:24px;width:min(100%,880px);min-height:720px;padding:54px clamp(34px,6vw,86px);border:1px solid #cbd5e1;background:#fff;box-shadow:0 20px 45px #0f172a14}.submission-document-kicker{display:flex;justify-content:space-between;gap:16px;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.submission-reader-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.submission-reader-meta div{display:grid;gap:3px;padding:12px;border-radius:8px;background:#f8fafc}.submission-reader-meta dt{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.submission-reader-meta dd{color:#111827;font-size:13px;font-weight:700}.submission-document-section{display:grid;gap:10px}.submission-document-section h3{color:#111827;font-size:15px}.submission-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.submission-section-heading span{display:inline-grid;min-width:26px;height:26px;place-items:center;border-radius:8px;background:#eff6ff;color:#2563eb;font-size:12px;font-weight:850}.submission-document-section p{color:#334155;font-size:16px;line-height:1.7;white-space:pre-wrap}.submission-document-section a{display:inline-flex;align-items:center;gap:7px;color:#2563eb;font-weight:800;text-decoration:none;word-break:break-all}.submission-link-stack{display:grid;gap:8px;justify-items:start}.submission-repository-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border:1px solid #dbe3ee;border-radius:8px;background:#f8fafc}.submission-repository-icon{display:grid;width:44px;height:44px;place-items:center;border:1px solid #dbe3ee;border-radius:8px;background:#fff;color:#111827}.submission-repository-body{display:grid;min-width:0;gap:5px}.submission-repository-label{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.submission-document-section .submission-repository-link{display:inline-flex;min-width:0;width:-moz-fit-content;width:fit-content;max-width:100%;align-items:center;gap:7px;color:#111827;font-size:18px;font-weight:850;line-height:1.25;text-decoration:none;word-break:break-word}.submission-document-section .submission-repository-link:hover{color:#2563eb}.submission-repository-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:#64748b;font-size:12px;font-weight:700}.submission-repository-meta span,.submission-repository-meta a{display:inline-flex;align-items:center;gap:4px;color:#64748b;font-weight:700;text-decoration:none}.submission-repository-meta a:hover{color:#2563eb}.submission-repository-meta strong{color:#334155}.submission-repository-late{padding:2px 7px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:11px;font-weight:850}.submission-repository-check{display:inline-flex;align-items:center;gap:6px;justify-self:end;padding:7px 9px;border-radius:8px;background:#dcfce7;color:#166534;font-size:12px;font-weight:850;white-space:nowrap}.submission-empty-stage,.submission-repo-stage{overflow:auto;min-height:0;padding:28px;background:#f5f7fb}.submission-github-stage,.submission-empty-stage{display:grid;align-content:start}.submission-empty-card{display:grid;width:min(100%,520px);gap:16px;margin:0 auto;padding:24px;border:1px solid #dbe3ee;border-radius:8px;background:#fff;box-shadow:0 12px 28px #0f172a12}.submission-empty-card svg{color:#94a3b8}.submission-empty-card h2{color:#111827;font-size:20px}.submission-empty-card p{margin-top:6px;color:#475569;font-size:14px;line-height:1.5}.submission-empty-card span{display:block;margin-top:10px;color:#64748b;font-size:13px;font-weight:750}.submission-empty-actions{display:flex;flex-wrap:wrap;gap:10px}.repo-inspector{display:grid;width:min(100%,1040px);margin:0 auto;overflow:hidden;border:1px solid #cfd8e6;border-radius:8px;background:#fff;box-shadow:0 16px 36px #0f172a14}.submission-github-stage .repo-inspector{width:100%}.repo-inspector-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding:22px 24px;border-bottom:1px solid #e2e8f0;background:#fff}.repo-reviewer-header{padding:18px 20px}.repo-inspector-title{display:flex;min-width:0;gap:14px;align-items:center}.repo-inspector-title h3{overflow-wrap:anywhere;color:#111827;font-size:22px;line-height:1.2}.repo-inspector-icon{display:grid;flex:0 0 auto;width:46px;height:46px;place-items:center;border:1px solid #dbe3ee;border-radius:8px;background:#f8fafc;color:#111827}.repo-inspector-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.repo-action-button{display:inline-flex;align-items:center;min-height:36px;gap:7px;padding:0 11px;cursor:pointer;border:1px solid #cfd8e6;border-radius:8px;background:#fff;color:#334155;font:inherit;font-size:12px;font-weight:850;line-height:1;text-decoration:none;white-space:nowrap}.repo-action-button:hover{border-color:#94a3b8;background:#f8fafc;color:#111827}.repo-action-button:disabled{cursor:not-allowed;opacity:.55}.repo-inspector-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border-bottom:1px solid #e2e8f0;background:#e2e8f0}.repo-inspector-meta div{display:grid;min-width:0;gap:5px;padding:13px 14px;background:#f8fafc}.repo-inspector-meta dt{color:#64748b;font-size:11px;font-weight:850;text-transform:uppercase}.repo-inspector-meta dd{display:inline-flex;min-width:0;align-items:center;gap:5px;color:#111827;font-size:12px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.repo-inspector-verification{padding:12px 24px 0}.repo-reviewer-meta{grid-template-columns:repeat(4,minmax(0,1fr))}.repo-verification-alert{display:flex;align-items:center;gap:8px;margin:12px 20px 0;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:750;line-height:1.4}.repo-verification-alert.neutral{border:1px solid #dbe3ee;background:#f8fafc;color:#475569}.repo-verification-alert.error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.repo-inspector-tabs{display:flex;overflow-x:auto;border-bottom:1px solid #e2e8f0;background:#fff}.repo-inspector-tab{min-height:44px;padding:0 20px;cursor:pointer;border:0;border-right:1px solid #e2e8f0;border-bottom:2px solid transparent;background:transparent;color:#64748b;font:inherit;font-size:13px;font-weight:850}.repo-inspector-tab:hover{background:#f8fafc;color:#111827}.repo-inspector-tab.active{border-bottom-color:#2563eb;color:#1d4ed8}.repo-inspector-empty{display:grid;min-height:220px;place-content:center;justify-items:center;gap:10px;padding:28px;color:#64748b;text-align:center}.repo-inspector-empty p{max-width:420px;color:#64748b;font-size:14px;font-weight:700;line-height:1.5}.spin-icon{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.repo-inspector-readme{background:#fff}.repo-code-reviewer{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);min-height:620px;background:#fff}.repo-file-tree-panel{min-width:0;overflow:auto;border-right:1px solid #e2e8f0;background:#f8fafc}.repo-file-tree-panel header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:0 12px;border-bottom:1px solid #e2e8f0;background:#fff}.repo-file-tree-panel strong{color:#111827;font-size:13px;font-weight:850}.repo-file-tree-panel header span{overflow:hidden;color:#64748b;font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.repo-file-tree{display:grid;padding:6px 0}.repo-tree-row{display:grid;grid-template-columns:15px 16px minmax(0,1fr) auto;width:100%;min-height:34px;align-items:center;gap:7px;padding-right:10px;cursor:pointer;border:0;background:transparent;color:#334155;font:inherit;text-align:left}.repo-tree-row:hover{background:#eef2f7;color:#111827}.repo-tree-row.selected{background:#dbeafe;color:#1d4ed8}.repo-tree-row span{overflow:hidden;font-size:13px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.repo-tree-row small{color:#64748b;font-size:11px;font-weight:750}.repo-tree-row.selected small{color:#475569}.repo-tree-spacer{width:15px;height:15px}.repo-tree-empty,.repo-tree-error,.repo-tree-loading{min-height:32px;padding-right:12px;color:#64748b;font-size:12px;font-weight:700;line-height:32px}.repo-tree-error{color:#b91c1c}.repo-code-empty{display:grid;min-height:420px;place-content:center;justify-items:center;gap:8px;padding:28px;color:#64748b;text-align:center}.repo-code-empty h4{margin:0;color:#111827;font-size:16px;font-weight:850}.repo-code-empty p{max-width:440px;margin:0;color:#64748b;font-size:13px;font-weight:700;line-height:1.5}.repo-code-pane{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:620px;background:#fff}.repo-code-pane>header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 14px;border-bottom:1px solid #e2e8f0}.repo-code-pane>header div{display:grid;min-width:0;gap:3px}.repo-code-pane strong{overflow:hidden;color:#111827;font-size:14px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.repo-code-pane>header span,.repo-code-pane>header small{overflow:hidden;color:#64748b;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.repo-code-scroll{min-width:0;min-height:0;overflow:hidden;background:#fff}.repo-code-editor{min-height:0}.repo-file-list{display:grid}.repo-file-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;min-height:48px;padding:0 18px;border-bottom:1px solid #e2e8f0;color:#334155;font-size:13px;font-weight:800;text-decoration:none}.repo-file-row:hover{background:#f8fafc;color:#1d4ed8}.repo-file-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repo-file-row small{color:#64748b;font-size:12px;font-weight:750}.repo-commit-list{display:grid;margin:0;padding:0;list-style:none}.repo-commit-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid #e2e8f0}.repo-commit-list div{display:grid;min-width:0;gap:5px}.repo-commit-list a{overflow:hidden;color:#111827;font-size:13px;font-weight:850;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.repo-commit-list a:hover{color:#1d4ed8}.repo-commit-list span{color:#64748b;font-size:12px;font-weight:700}.repo-commit-list code{padding:5px 7px;border-radius:7px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:800}.repo-checks-panel{display:grid;gap:18px;padding:20px;background:#fff}.repo-checks-panel header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start}.repo-checks-panel h4{margin:0;color:#111827;font-size:15px}.repo-checks-panel p{margin:4px 0 0;color:#64748b;font-size:13px;font-weight:700;line-height:1.5}.repo-checks-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.repo-checks-details div{min-width:0;padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.repo-checks-details dt{color:#64748b;font-size:11px;font-weight:850;text-transform:uppercase}.repo-checks-details dd{overflow:hidden;margin:5px 0 0;color:#111827;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.repo-checks-paths{display:grid;gap:8px;padding:12px;border:1px solid #fed7aa;border-radius:8px;background:#fff7ed}.repo-checks-paths strong{color:#9a3412;font-size:13px}.repo-checks-paths ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.repo-checks-paths code{color:#7c2d12;font-size:12px;font-weight:800;overflow-wrap:anywhere}.repo-checks-run-link{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:7px;color:#2563eb;font-size:13px;font-weight:850;text-decoration:none}.repo-inspector-note{display:grid;gap:8px;padding:18px 24px;border-top:1px solid #e2e8f0;background:#f8fafc}.repo-inspector-note h4{color:#111827;font-size:14px}.repo-inspector-note p{color:#334155;font-size:14px;line-height:1.6;white-space:pre-wrap}.repo-inspector .submission-history-section{padding:18px 24px 24px;border-top:1px solid #e2e8f0}.submission-url-card{display:grid;width:min(100%,760px);gap:18px;margin:0 auto;padding:22px;border:1px solid #dbe3ee;border-radius:8px;background:#fff;box-shadow:0 12px 28px #0f172a12}.submission-url-card>div:nth-child(2){display:grid;min-width:0;gap:5px}.submission-url-card a{display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:100%;align-items:center;gap:7px;overflow-wrap:anywhere;color:#111827;font-size:16px;font-weight:850;text-decoration:none}.submission-url-card a:hover{color:#1d4ed8}.submission-url-icon{display:grid;width:44px;height:44px;place-items:center;border:1px solid #dbe3ee;border-radius:8px;background:#f8fafc;color:#475569}.submission-history-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.submission-history-list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.submission-history-marker{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:#fff;color:#475569}.submission-history-body{display:grid;min-width:0;gap:5px}.submission-history-title,.submission-history-meta{display:flex;flex-wrap:wrap;gap:6px 12px}.submission-history-title{align-items:baseline;justify-content:space-between}.submission-history-title strong{color:#111827;font-size:13px}.submission-history-title span,.submission-history-meta span,.submission-history-meta a{color:#64748b;font-size:12px;font-weight:750}.submission-history-meta a{text-decoration:none}.submission-history-meta a:hover{color:#2563eb}.submission-history-late{color:#991b1b}.submission-empty-work{display:grid;min-height:360px;place-content:center;justify-items:center;gap:10px;padding:32px;color:#64748b;text-align:center}.submission-empty-work svg{color:#94a3b8}.submission-empty-work h2{color:#111827;font-size:22px}.submission-empty-work p{max-width:360px;color:#64748b;line-height:1.5}.muted-copy{color:#64748b!important}.form-field{display:grid;gap:7px;min-width:0}.form-field>span{color:#334155;font-size:13px;font-weight:800}.input,.textarea{width:100%;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#111827;box-shadow:inset 0 1px 2px #0f172a0a;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.input{min-height:44px;padding:0 12px}.textarea{min-height:112px;padding:11px 12px;line-height:1.45;resize:vertical}.input:focus,.textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24,inset 0 1px 2px #0f172a0a}.input::-moz-placeholder,.textarea::-moz-placeholder{color:#94a3b8}.input::placeholder,.textarea::placeholder{color:#94a3b8}.input:disabled,.textarea:disabled{cursor:not-allowed;background:#f8fafc;color:#94a3b8}.sign-in-page{display:grid;place-items:center;background:radial-gradient(circle at top left,rgba(37,99,235,.1),transparent 32%),#f5f7fb}.sign-in-panel{width:min(100%,980px)}.sign-in-header{max-width:620px;margin-bottom:24px}.sign-in-header h1,.sign-in-header p,.sign-in-card h2,.sign-in-card p{margin:0}.sign-in-header h1{color:#111827;font-size:36px;font-weight:800;line-height:1.1}.sign-in-header p{margin-top:10px;color:#53627a;line-height:1.55}.sign-in-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.sign-in-card,.google-sign-in-card,.auth-callback-panel{border:1px solid #d7dfeb;border-radius:8px;background:#fff;box-shadow:0 10px 28px #0f172a0f}.sign-in-card{display:grid;gap:14px;padding:18px}.google-sign-in-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:18px;padding:18px}.setup-school-form{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:18px}.setup-school-form .google-sign-in-actions,.setup-school-form .form-error-message{grid-column:1 / -1}.google-sign-in-card h2,.google-sign-in-card p,.google-sign-in-card span,.auth-callback-panel h1,.auth-callback-panel p{margin:0}.google-sign-in-card h2,.auth-callback-panel h1{color:#111827;font-size:22px;font-weight:800;line-height:1.2}.google-sign-in-card p,.auth-callback-panel p{margin-top:5px;color:#53627a;line-height:1.5}.google-sign-in-card span{display:block;margin-top:7px;color:#64748b;font-size:13px;font-weight:700}.google-sign-in-actions{display:flex;align-items:center;gap:10px;justify-content:flex-start;flex-wrap:wrap}.google-sign-in-setup{grid-column:1 / -1;margin-top:-4px!important;color:#64748b!important;font-size:13px}.auth-shell{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1fr);gap:36px;align-items:stretch}.sign-in-page--demo .sign-in-panel{width:min(100%,1120px)}.auth-shell--demo{grid-template-columns:minmax(0,1fr);gap:24px}.auth-shell--demo .auth-value-panel{align-items:center;max-width:820px;justify-self:center;text-align:center}.auth-shell--demo .auth-benefit-list{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:780px;margin-top:22px}.auth-shell--demo .auth-benefit-list li{justify-content:center}.auth-shell--demo .auth-secondary-links{justify-content:center;margin-top:22px}.auth-shell--demo .auth-demo-snapshot{width:100%;max-width:620px}.auth-shell--demo .auth-action-panel{align-items:stretch}.auth-value-panel{display:flex;min-height:100%;flex-direction:column;justify-content:center;margin-bottom:0}.auth-benefit-list{display:grid;gap:12px;margin:24px 0 0;padding:0;list-style:none}.auth-benefit-list li{display:flex;align-items:center;gap:10px;color:#334155;font-weight:700}.auth-benefit-list svg{color:#2563eb}.auth-secondary-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.auth-secondary-links a{color:#1d4ed8;font-size:14px;font-weight:800;text-decoration:none}.auth-demo-snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px}.auth-demo-snapshot div{padding:14px;border:1px solid rgba(37,99,235,.14);border-radius:8px;background:#ffffff9e}.auth-demo-snapshot strong,.auth-demo-snapshot span{display:block}.auth-demo-snapshot strong{color:#111827;font-size:24px;line-height:1}.auth-demo-snapshot span{margin-top:5px;color:#53627a;font-size:12px;font-weight:800;line-height:1.3}.auth-action-panel{display:flex;align-items:center;min-width:0}.google-sign-in-card.auth-card,.auth-card{width:100%;margin-bottom:0;padding:24px}.google-sign-in-card.auth-card{grid-template-columns:minmax(0,1fr);gap:18px}.auth-card-main{min-width:0}.auth-card-actions{grid-column:1 / -1;justify-content:flex-start}.auth-card-actions--stacked{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;justify-self:center;justify-items:stretch;gap:14px;width:min(100%,420px)}.auth-card-actions--stacked .google-button,.auth-card-actions--stacked .auth-email-form,.auth-card-actions--stacked .form-field,.auth-card-actions--stacked .input,.auth-card-actions--stacked button[type=submit]{width:100%}.auth-email-form{display:grid;gap:10px}.auth-email-divider{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;width:100%;color:#64748b;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.auth-email-divider span[aria-hidden=true]{height:1px;background:#e2e8f0}.auth-card-heading{display:grid;gap:8px;margin-bottom:18px}.auth-card-heading h2,.auth-card-heading p{margin:0}.auth-card-heading h2{color:#111827;font-size:22px;font-weight:800;line-height:1.2}.auth-card-heading p:not(.eyebrow){color:#53627a;line-height:1.5}.auth-link-row{display:flex;flex-wrap:wrap;gap:10px;grid-column:1 / -1;justify-content:flex-start}.auth-text-link-row{display:flex;flex-wrap:wrap;gap:6px;grid-column:1 / -1;color:#64748b;font-size:14px;font-weight:700}.auth-text-link-row a{color:#1d4ed8;text-decoration:none}.auth-text-link-row a:hover,.auth-secondary-links a:hover{text-decoration:underline}.google-button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:44px;padding:0 18px;border:1px solid #dadce0;border-radius:8px;background:#fff;color:#1f2937;font-size:15px;font-weight:750;white-space:nowrap;box-shadow:0 1px 2px #0f172a0f;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.google-button:hover{border-color:#cbd5e1;background:#f8fafc;box-shadow:0 3px 8px #0f172a14}.google-button:disabled{cursor:wait;opacity:.72}.google-mark{width:18px;height:18px;flex:0 0 auto}.auth-demo-card{display:grid;gap:16px}.auth-shell--demo .auth-demo-card{grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start;padding:26px}.auth-shell--demo .auth-demo-card .auth-card-heading{max-width:600px;margin-bottom:0}.auth-demo-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dbe4f0;border-radius:8px;background:#f8fafc;color:#53627a;font-size:13px;font-weight:800}.auth-demo-flow svg{color:#94a3b8}.auth-shell--demo .auth-demo-flow{justify-self:end}.auth-demo-grid{grid-template-columns:1fr}.auth-shell--demo .auth-demo-grid{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.demo-role-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.auth-shell--demo .demo-role-card{display:flex;flex-direction:column;align-items:flex-start}.demo-role-card>p,.demo-role-card .demo-role-highlights,.demo-role-card>button{grid-column:1 / -1}.auth-shell--demo .demo-role-card>p,.auth-shell--demo .demo-role-card .demo-role-highlights,.auth-shell--demo .demo-role-card>button{grid-column:auto}.demo-role-card>button{justify-self:flex-start}.auth-shell--demo .demo-role-card>button{width:100%;margin-top:auto;justify-content:center}.auth-shell--demo .auth-text-link-row{grid-column:1 / -1}.demo-role-highlights{display:grid;gap:7px;margin:-2px 0 0;padding:0;list-style:none}.demo-role-highlights li{position:relative;padding-left:16px;color:#334155;font-size:13px;font-weight:750}.demo-role-highlights li:before{position:absolute;top:.58em;left:0;width:5px;height:5px;border-radius:999px;background:#2563eb;content:""}.auth-callback-panel{display:grid;gap:12px;max-width:520px;padding:24px}.sign-in-card.active{border-color:#2563eb;box-shadow:0 14px 34px #2563eb1f}.sign-in-card-icon{display:inline-grid;width:42px;height:42px;place-items:center;border-radius:8px;background:#eef4ff;color:#1d4ed8}.sign-in-card h2{color:#111827;font-size:19px;line-height:1.2}.sign-in-card div p,.sign-in-card div span{color:#64748b;font-size:13px;font-weight:700}.sign-in-card>p{color:#53627a;line-height:1.5}.admin-course-list{display:grid;border:1px solid #e1e7f0;border-radius:8px;overflow:hidden}.admin-roster-table strong{color:#111827}.admin-roster-table span{color:#64748b;font-size:13px;font-weight:700}.admin-role-pill{display:inline-flex;min-height:28px;align-items:center;justify-content:center;border:1px solid #bfdbfe;border-radius:999px;padding:0 10px;background:#eef4ff;color:#1d4ed8;font-size:12px;font-weight:800;white-space:nowrap}.admin-roster-heading{align-items:center}.admin-add-enrollment{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,auto) auto;gap:12px;align-items:end;padding:14px;border:1px solid #e1e7f0;border-radius:8px;background:#f8fafc}.admin-add-enrollment label{display:grid;gap:6px;color:#53627a;font-size:13px;font-weight:800}.admin-add-enrollment input,.admin-add-enrollment select,.admin-add-enrollment textarea,.admin-roster-table select{min-height:38px;border:1px solid #d5ddea;border-radius:8px;padding:0 36px 0 10px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2342526a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:18px;color:#27364d;font:inherit;font-weight:700;-webkit-appearance:none;-moz-appearance:none;appearance:none}.admin-add-enrollment input,.admin-add-enrollment textarea{padding-right:10px;background-image:none}.admin-add-enrollment textarea{min-height:148px;padding-top:10px;resize:vertical}.admin-csv-field{grid-column:1 / -1}.form-status-message{margin:0 0 16px;border:1px solid #bfdbfe;border-radius:8px;padding:11px 13px;background:#eff6ff;color:#1d4ed8;font-weight:800}.admin-roster-table-scroll{overflow-x:auto;border:1px solid #e1e7f0;border-radius:8px}.admin-roster-table{width:100%;min-width:780px;border-collapse:collapse}.admin-roster-table th,.admin-roster-table td{padding:12px;border-bottom:1px solid #e1e7f0;text-align:left;vertical-align:middle}.admin-roster-table thead th{background:#f8fafc;color:#5f6d82;font-size:12px;font-weight:850;letter-spacing:0;text-transform:uppercase}.admin-roster-table tbody tr:last-child th,.admin-roster-table tbody tr:last-child td{border-bottom:0}.admin-roster-table th[scope=row]{display:grid;gap:3px;min-width:220px}.admin-user-table{min-width:720px}.admin-user-table td:first-child{min-width:260px}.admin-user-table th:last-child,.admin-user-table td:last-child{width:1%;text-align:right;white-space:nowrap}.admin-reset-card{display:grid;gap:6px;margin-top:18px;padding:14px;border:1px solid #e1e5eb;border-radius:12px;background:#f8fafc;color:#334155}.admin-reset-card strong,.admin-reset-card p{margin:0}.admin-reset-card code{border-radius:6px;padding:2px 6px;background:#dbeafe;color:#1e3a8a;font-weight:800}.library-preview-problem-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;min-height:58px;padding:12px;border:1px solid #d7dfeb;border-radius:8px;background:#fff}.library-preview-problem-index{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;background:#eff6ff;color:#2563eb;font-size:13px;font-weight:700}.library-preview-problem-copy{display:grid;gap:2px;min-width:0}.library-preview-problem-copy strong{overflow:hidden;color:#111827;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.library-preview-problem-copy small{overflow:hidden;color:#64748b;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.item-editor-panel{display:grid;gap:0;overflow:hidden}.item-editor-panel-section{display:grid;gap:12px;padding:16px;border-bottom:1px solid #e2e8f0}.item-editor-panel-section:last-child{border-bottom:0}.item-editor-panel-section h2{margin:0;color:#111827;font-size:14px;font-weight:700}.settings-note{margin:0;color:#64748b;font-size:13px;line-height:1.45}.assignment-link-stack{display:grid;gap:8px}.assignment-link-stack .ui-button{width:100%;text-decoration:none}@media (min-width: 761px){.course-item-row-actions{grid-column-start:-2}}.module-outline-list{display:grid;gap:5px}.module-outline-item{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 9px;border-radius:7px;color:#475569;font-size:13px;font-weight:700;text-decoration:none}.module-outline-item.active{background:#eff6ff;color:#1d4ed8}a.module-outline-item:hover{background:#f8fafc;color:#1d4ed8}.view-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid #d5ddea;border-radius:8px;background:#fff}.view-toggle button{display:inline-grid;width:38px;height:34px;place-items:center;border:0;border-radius:6px;background:transparent;color:#64748b}.view-toggle button.active{background:#2563eb;color:#fff}.schedule-card-header{display:flex;align-items:center;gap:12px}.schedule-card-title{display:flex;min-width:0;align-items:center;gap:12px}.schedule-card-title>div{min-width:0}.schedule-card-header>svg,.schedule-card-title>svg{color:#2563eb;flex:0 0 auto}.schedule-calendar-header{flex-wrap:wrap;justify-content:space-between;gap:16px}.calendar-month-controls{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px}.calendar-month-controls button{display:inline-grid;min-width:36px;height:36px;place-items:center;border:1px solid #cfd8e6;border-radius:8px;background:#fff;color:#334155;cursor:pointer;font:inherit;font-size:13px;font-weight:800}.calendar-month-controls button:hover{border-color:#94a3b8;background:#f8fafc;color:#111827}.calendar-month-controls button:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}.calendar-month-controls .calendar-today-button{padding:0 12px;white-space:nowrap}.schedule-card h2{color:#111827;font-size:19px}.schedule-card p{margin-top:2px;color:#64748b;font-size:13px}.agenda-list,.agenda-day{display:grid;gap:12px}.agenda-day h3{color:#111827;font-size:14px;text-transform:capitalize}.agenda-item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:1px solid #e1e7f0;border-radius:8px;background:#fbfcfe;color:inherit;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.agenda-item.date-only{grid-template-columns:minmax(0,1fr)}.agenda-item>span{color:#4f5f78;font-size:12px;font-weight:700}.agenda-item p{color:#111827;font-size:13px;font-weight:700}.agenda-item small{color:#68778f;font-size:12px}a.agenda-item:hover,a.agenda-item:focus-visible{border-color:#bfdbfe;box-shadow:0 10px 24px #2563eb1a;transform:translateY(-1px)}.calendar-card{overflow:hidden}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #e1e5eb;border-radius:12px;overflow:hidden}.calendar-weekday{padding:10px;border-right:1px solid #e1e5eb;border-bottom:1px solid #e1e5eb;background:#f8fafc;color:#53627a;font-size:12px;font-weight:700}.calendar-weekday:nth-child(7){border-right:0}.calendar-day{min-height:118px;padding:8px;border-right:1px solid #e1e5eb;border-bottom:1px solid #e1e5eb;background:#fff}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside-month{background:#f8fafc;color:#94a3b8}.calendar-date{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;color:#334155;font-size:12px;font-weight:700;line-height:1}.calendar-day.today .calendar-date{background:#2563eb;color:#fff}.calendar-events{display:grid;gap:4px;margin-top:8px}.calendar-event,.calendar-more{display:block;overflow:hidden;padding:3px 6px;border-radius:5px;background:#e8f1ff;color:#1d4ed8;font-size:11px;font-weight:700;text-overflow:ellipsis;text-decoration:none;white-space:nowrap}a.calendar-event:hover,a.calendar-event:focus-visible{box-shadow:inset 0 0 0 1px currentColor;text-decoration:underline;text-underline-offset:2px}.calendar-event.due{background:#fff3d6;color:#854d0e}.calendar-more{background:#eef2f7;color:#64748b}.exercise-page{min-height:100vh;padding:32px}.exercise-overview-card,.progress-table-card{display:grid;gap:18px;border:1px solid #e1e5eb;border-radius:12px;background:#fff;padding:20px}.exercise-overview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.exercise-overview-header h2,.exercise-overview-header p{margin:0}.exercise-overview-header h2{color:#111827;font-size:22px}.exercise-overview-header p{margin-top:6px;color:#64748b;line-height:1.5}.exercise-progress-pill,.exercise-passed-pill{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border-radius:999px;background:#ecfdf3;color:#166534;font-size:13px;font-weight:700;white-space:nowrap}.exercise-list{display:grid;gap:10px}.exercise-card-link{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-height:64px;padding:12px;border:1px solid #dbe3ee;border-radius:8px;color:#111827;text-decoration:none}.exercise-card-link:hover{border-color:#93c5fd;background:#fbfdff}.exercise-card-link strong,.exercise-card-link small{display:block}.exercise-card-link small{margin-top:3px;color:#64748b;font-size:12px;font-weight:700}.exercise-status-dot{display:inline-grid;width:38px;height:38px;place-items:center;border-radius:8px;background:#eef2f7;color:#64748b}.exercise-status-dot.in_progress{background:#eff6ff;color:#1d4ed8}.exercise-status-dot.passed{background:#dcfce7;color:#16a34a}.exercise-player-inner{width:min(100%,1400px);margin:0 auto}.exercise-player-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px}.exercise-player-header h1{margin:0;color:#111827;font-size:30px;font-weight:800;line-height:1.1}.exercise-player-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.exercise-player-layout{display:grid;grid-template-columns:minmax(300px,.45fr) minmax(520px,.55fr);gap:18px;align-items:stretch;min-height:720px}.exercise-prompt-panel,.exercise-code-panel{border:1px solid #e1e5eb;border-radius:12px;background:#fff}.exercise-prompt-panel{overflow:auto;padding:24px;color:#334155;line-height:1.65}.exercise-prompt-panel h1,.exercise-prompt-panel h2,.exercise-prompt-panel h3{color:#111827;line-height:1.2}.exercise-prompt-panel pre{overflow-x:auto;padding:14px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.exercise-code-panel{display:grid;grid-template-rows:minmax(420px,1fr) auto;overflow:hidden}.exercise-editor-frame{min-height:420px}.exercise-code-editor{height:100%}.exercise-code-editor .mtk6{color:#a31515!important}.exercise-result-panel{min-height:140px;max-height:240px;overflow:auto;padding:14px;border-top:1px solid #d7dfeb;background:#fbfcfe;color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px}.exercise-result-panel.empty{display:flex;align-items:center;color:#64748b;font-family:inherit}.exercise-result-panel.pass{background:#f0fdf4}.exercise-result-panel.fail,.exercise-result-panel.error{background:#fff7ed}.exercise-result-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-family:inherit}.exercise-result-panel ul{margin:0;padding-left:18px}.progress-table{width:100%;border-collapse:collapse}.progress-table th,.progress-table td{padding:12px;border-top:1px solid #e2e8f0;text-align:left}.progress-table th{color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase}.progress-table td{color:#334155;font-size:14px}.progress-table td strong,.progress-table td span{display:block}.progress-table td span{margin-top:2px;color:#64748b;font-size:12px}.progress-meter{display:inline-flex;width:110px;height:8px;margin-right:8px;overflow:hidden;border-radius:999px;background:#e2e8f0;vertical-align:middle}.progress-meter span{display:block;height:100%;background:#2563eb}.course-exercise-shell{min-height:100vh;background:#f8fafc}.exercise-fullscreen-page{display:flex;min-height:100vh;height:100vh;flex-direction:column;overflow:hidden;background:#fff;color:#0f172a}.exercise-top-nav{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #e2e8f0;background:#ffffffd1;padding:0 32px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.exercise-top-nav-main,.exercise-top-nav-actions,.exercise-nav-stepper,.exercise-stepper-button,.exercise-nav-back{display:inline-flex;align-items:center}.exercise-top-nav-main{min-width:0;gap:18px}.exercise-nav-back{gap:7px;min-height:36px;padding:0 10px;border-radius:6px;color:#475569;font-size:14px;font-weight:700;text-decoration:none}.exercise-nav-back:hover,.exercise-stepper-button:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.exercise-top-nav-title{display:grid;min-width:0;gap:2px}.exercise-top-nav-title span{overflow:hidden;color:#64748b;font-size:12px;font-weight:700;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.exercise-top-nav-title strong{overflow:hidden;color:#111827;font-size:16px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.exercise-top-nav-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.exercise-nav-progress{display:inline-flex;min-height:32px;align-items:center;border-radius:999px;background:#f1f5f9;color:#475569;padding:0 12px;font-size:13px;font-weight:700;white-space:nowrap}.exercise-nav-stepper{overflow:hidden;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.exercise-stepper-button{gap:5px;min-height:34px;border:0;background:transparent;color:#334155;cursor:pointer;font:inherit;font-size:13px;font-weight:700;padding:0 10px;text-decoration:none}.exercise-stepper-button:disabled{color:#94a3b8;cursor:not-allowed}.exercise-stepper-count{min-width:48px;border-inline:1px solid #d7dfeb;color:#64748b;font-size:13px;font-weight:700;text-align:center}.exercise-fullscreen-empty{margin:32px;color:#64748b;font-weight:700}.exercise-overview-shell{display:grid;flex:1;min-height:0;grid-template-columns:minmax(320px,35%) minmax(0,65%);overflow:hidden}.exercise-overview-info{display:flex;min-height:0;flex-direction:column;gap:32px;overflow:auto;border-right:1px solid #e2e8f0;background:#fff;padding:32px}.exercise-overview-title-block{display:grid;gap:16px}.exercise-overview-info h1{margin:0;color:#0f172a;font-size:40px;font-weight:700;letter-spacing:0;line-height:1.08}.exercise-overview-meta{display:flex;flex-wrap:wrap;gap:8px}.exercise-overview-meta span{display:inline-flex;min-height:26px;align-items:center;border-radius:999px;background:#f1f5f9;color:#475569;font-size:13px;font-weight:700;padding:0 10px}.exercise-overview-description{color:#334155;font-size:15px;line-height:1.7}.exercise-overview-description h1,.exercise-overview-description h2,.exercise-overview-description h3{color:#0f172a;line-height:1.2}.exercise-overview-description code{border-radius:4px;background:#f1f5f9;color:#1e293b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em;padding:2px 6px}.exercise-overview-list-panel{min-height:0;overflow:auto;background:#f8fafc;padding:32px}.exercise-list{width:min(100%,768px);margin:0 auto;gap:16px}.exercise-card-link{display:flex;min-height:82px;align-items:center;justify-content:space-between;gap:18px;border-color:#e2e8f0;border-radius:12px;background:#fff;padding:20px;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.exercise-card-link:hover{border-color:#93c5fd;background:#fff;box-shadow:0 10px 24px #1e40af0f}.exercise-card-main{display:inline-flex;min-width:0;align-items:center;gap:16px}.exercise-card-link strong{color:#0f172a;font-size:18px;font-weight:700}.exercise-card-link:hover strong{color:#1d4ed8}.exercise-card-action{display:inline-flex;align-items:center;gap:5px;color:#2563eb;font-size:14px;font-weight:700;opacity:0;transform:translate(-6px);transition:opacity .18s ease,transform .18s ease;white-space:nowrap}.exercise-card-link:hover .exercise-card-action,.exercise-card-link:focus-visible .exercise-card-action,.exercise-card-link:has(.exercise-status-dot.passed) .exercise-card-action{opacity:1;transform:translate(0)}.exercise-player-inner{display:flex;width:100%;min-height:0;flex:1;margin:0;padding:0}.exercise-player-layout{display:grid;width:100%;min-height:0;flex:1;grid-template-columns:minmax(320px,35%) minmax(0,65%);gap:0;align-items:stretch}.exercise-prompt-panel,.exercise-code-panel{min-height:0;border:0;border-radius:0;box-shadow:none}.exercise-prompt-panel{overflow:auto;border-right:1px solid #e5e7eb;background:#f8fafc;color:#334155;padding:32px}.exercise-prompt-panel>.eyebrow{margin-top:0}.exercise-code-panel{display:grid;overflow:hidden;background:#fff;grid-template-rows:minmax(0,1fr) auto minmax(180px,.36fr)}.exercise-code-toolbar{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:10px 14px}.exercise-code-status{color:#64748b;font-size:13px;font-weight:700}.exercise-editor-frame{min-height:0}.exercise-result-panel{max-height:none;min-height:0;background:#fff;border-top:0}@media (max-width: 1080px){.course-workspace-shell{grid-template-columns:1fr}.course-workspace-content--status{grid-column:1}.assignment-submissions-overview-header{grid-template-columns:1fr}.assignment-submissions-overview-actions{justify-content:flex-start}.assignment-speedgrader-topbar{grid-template-columns:1fr}.assignment-speedgrader-title{align-items:flex-start;flex-direction:column;gap:10px}.speedgrader-top-nav{justify-content:flex-start}.assignment-speedgrader-layout{grid-template-columns:1fr;overflow:visible}.speedgrader-resize-handle{display:none}.speedgrader-review-panel{border-left:0;border-top:1px solid #cbd5e1}.course-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sign-in-card-grid,.auth-shell,.auth-shell--demo .auth-benefit-list,.auth-shell--demo .auth-demo-grid{grid-template-columns:1fr}.auth-shell--demo .auth-benefit-list{max-width:560px}.auth-shell--demo .auth-benefit-list li{justify-content:flex-start;text-align:left}.auth-shell--demo .auth-demo-card{grid-template-columns:1fr}.auth-shell--demo .auth-demo-flow{justify-self:start}.auth-value-panel{justify-content:flex-start}.auth-action-panel{align-items:stretch}.assignment-summary-grid,.exercise-hub-stats,.students-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-layout{grid-template-columns:1fr}.course-sidebar{position:static;height:auto;max-height:none;border-right:0;border-bottom:1px solid var(--sidebar-border);overflow:visible}.course-workspace-topbar{padding:0 24px}.student-preview-area{justify-content:flex-end}.course-profile-area--sidebar{padding-top:12px}.course-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.google-sign-in-card,.google-sign-in-card.auth-card{grid-template-columns:1fr}.google-sign-in-actions{justify-content:flex-start}.google-sign-in-setup{grid-column:auto}}@media (max-width: 760px){.builder-shell,.admin-page,.assignments-page,.courses-page,.exercises-page,.exercise-page,.grades-page,.item-editor-page,.schedule-page,.settings-page,.sign-in-page,.students-page{padding:22px 18px}.course-workspace-content>main{min-height:calc(100vh - 88px);padding-top:22px}.course-workspace-topbar{align-items:flex-start;flex-direction:column;gap:10px;min-height:auto;padding:12px 18px}.auth-demo-snapshot{grid-template-columns:1fr}.auth-shell--demo .auth-demo-snapshot{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.auth-shell--demo .auth-demo-snapshot div{padding:12px 8px}.google-button,.course-workspace-breadcrumbs{width:100%}.course-workspace-breadcrumbs a,.course-workspace-breadcrumbs span{max-width:calc(100vw - 76px)}.page-header{flex-direction:column;margin-bottom:26px}.page-header h1{font-size:30px}.page-header p:not(.eyebrow){font-size:15px}.header-actions{justify-content:flex-start}.assignment-submissions-overview-header h1{font-size:30px}.assignment-submissions-table-header{flex-direction:column}.admin-add-enrollment{grid-template-columns:1fr}.calendar-grid{min-width:720px}.calendar-card{overflow-x:auto}.item-editor-header,.item-editor-layout,.assignment-detail-layout{grid-template-columns:1fr}.item-editor-header,.assignment-detail-header{align-items:flex-start;flex-direction:column}.assignment-detail-actions,.assignment-submission-counts{flex-wrap:wrap;justify-content:flex-start}.assignment-detail-actions{width:100%;align-items:stretch}.assignment-detail-actions .ui-button{width:100%}.assignment-repo-actions{display:grid;grid-template-columns:1fr}.assignment-readme-header{grid-template-columns:1fr}.assignment-repo-actions .ui-button,.assignment-readme-header .ui-button{width:100%}.assignment-speedgrader-topbar{padding:14px 18px}.submission-document-toolbar{align-items:flex-start;flex-direction:column;padding:16px 18px}.submission-artifact-stage,.submission-empty-stage,.submission-repo-stage{padding:18px}.submission-document-page{min-height:520px;padding:28px 20px}.submission-document-kicker{flex-direction:column;gap:6px}.assignment-submission-grid,.submission-reader-meta,.submission-repository-card{grid-template-columns:1fr}.submission-repository-icon,.submission-repository-check{justify-self:start}.repo-inspector-header{grid-template-columns:1fr;padding:18px}.repo-inspector-actions{justify-content:flex-start}.repo-action-button{flex:1 1 auto;justify-content:center}.repo-inspector-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.repo-code-reviewer{grid-template-columns:1fr}.repo-file-tree-panel{max-height:280px;border-right:0;border-bottom:1px solid #e2e8f0}.repo-code-pane,.repo-code-reviewer{min-height:420px}.repo-commit-list li,.repo-file-row{grid-template-columns:auto minmax(0,1fr)}.repo-file-row small,.repo-commit-list code{grid-column:2;justify-self:start}.submission-url-card{padding:18px}.exercise-category-summary,.exercise-library-grid,.exercise-library-header{display:grid;grid-template-columns:1fr}.exercise-library-search{width:100%}.student-exercise-next-card{grid-template-columns:1fr}.exercise-player-header,.exercise-overview-header,.student-exercise-focus-card,.student-exercise-set-sections-header,.student-exercise-set-section,.exercise-path-card,.course-exercise-card-main,.course-exercise-footer,.course-exercise-topic{flex-direction:column;align-items:stretch}.course-exercise-category-row,.course-exercise-category-main{grid-template-columns:1fr;align-items:stretch}.course-exercise-category-actions,.course-exercise-category-meta{justify-content:flex-start;text-align:left}.student-exercise-set-summary{justify-items:start;text-align:left}.student-exercise-set-section-meta,.course-exercise-topic-meta{justify-content:flex-start;flex-wrap:wrap;text-align:left;white-space:normal}.exercise-player-layout{grid-template-columns:1fr;min-height:auto}.exercise-fullscreen-page{overflow:auto}.exercise-top-nav{align-items:flex-start;flex-direction:column;padding:12px 16px}.exercise-top-nav-main{width:100%;align-items:flex-start;flex-direction:column;gap:8px}.exercise-top-nav-actions{width:100%;justify-content:flex-start}.exercise-overview-shell{grid-template-columns:1fr;padding:24px 18px}.exercise-overview-info h1{font-size:34px}.exercise-overview-stats,.assignment-summary-grid,.grades-summary-grid,.students-summary-grid,.student-grade-card{grid-template-columns:1fr}.assignment-attention-card{grid-template-columns:1fr;align-items:stretch}.assignment-attention-action{justify-self:start}.assignments-table-card{overflow:hidden}.assignments-table-scroll{overflow-x:visible}.assignments-table{min-width:0;border-collapse:separate;border-spacing:0}.assignments-table thead{display:none}.assignments-table tbody{display:grid;gap:12px;padding:12px}.assignments-table tbody tr{display:grid;overflow:hidden;border:1px solid #e1e5eb;border-radius:12px;background:#fff}.assignments-table th,.assignments-table td{padding:12px 14px}.assignments-table tbody tr:last-child td,.assignments-table td{border-bottom:1px solid #edf0f4}.assignments-table td{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:start}.assignments-table td:before{content:attr(data-label);color:#64748b;font-size:11px;font-weight:850;line-height:1.4;text-transform:uppercase}.assignments-table td:last-child{border-bottom:0}.assignments-table td[colspan]{display:block}.assignments-table td[colspan]:before{content:none}.assignment-title-cell{min-width:0}.assignment-row-actions,.assignment-row-action{justify-content:flex-start}.exercise-player-inner{padding:14px}.exercise-code-panel{min-height:640px}}@media (max-width: 540px){.course-card-grid,.assignment-summary-grid,.exercise-hub-stats{grid-template-columns:1fr}.assignment-submissions-overview-actions{align-items:stretch;flex-direction:column}.assignment-submissions-overview-actions .ui-button{width:100%;justify-content:center}.course-nav{grid-template-columns:1fr}.student-preview-area{justify-content:flex-start}.course-profile-trigger{width:100%}}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.last\:border-b-0:last-child{border-bottom-width:0px}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\:ring-ring:focus-within{--tw-ring-color: hsl(var(--ring))}.hover\:border-\[hsl\(var\(--primary-hover-border\)\)\]:hover{border-color:hsl(var(--primary-hover-border))}.hover\:border-blue-300:hover{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.hover\:border-slate-200:hover{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.hover\:border-slate-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.hover\:border-slate-400:hover{--tw-border-opacity: 1;border-color:rgb(148 163 184 / var(--tw-border-opacity, 1))}.hover\:bg-\[hsl\(var\(--primary-hover\)\)\]:hover{background-color:hsl(var(--primary-hover))}.hover\:bg-\[var\(--profile-item-bg\)\]:hover{background-color:var(--profile-item-bg)}.hover\:bg-\[var\(--profile-item-hover-bg\)\]:hover{background-color:var(--profile-item-hover-bg)}.hover\:bg-\[var\(--profile-surface-hover\)\]:hover{background-color:var(--profile-surface-hover)}.hover\:bg-\[var\(--sidebar-profile-hover-bg\)\]:hover{background-color:var(--sidebar-profile-hover-bg)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-amber-50:hover{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-50\/40:hover{background-color:#eff6ff66}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-slate-700:hover{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.hover\:text-slate-950:hover{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:underline-offset-4:hover{text-underline-offset:4px}.hover\:shadow-\[inset_0_0_0_1px_currentColor\]:hover{--tw-shadow: inset 0 0 0 1px currentColor;--tw-shadow-colored: inset 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus-visible\:border-blue-600:focus-visible{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.focus-visible\:bg-white:focus-visible{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset: inset}.focus-visible\:ring-\[var\(--profile-accent\)\]:focus-visible{--tw-ring-color: var(--profile-accent)}.focus-visible\:ring-blue-200:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-blue-600\/15:focus-visible{--tw-ring-color: rgb(37 99 235 / .15)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-slate-50:disabled{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.disabled\:text-slate-400:disabled{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\[state\=open\]\:border-slate-200[data-state=open]{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.data-\[disabled\]\:bg-transparent[data-disabled]{background-color:transparent}.data-\[highlighted\]\:bg-\[var\(--profile-item-hover-bg\)\][data-highlighted]{background-color:var(--profile-item-hover-bg)}.data-\[highlighted\]\:bg-blue-50[data-highlighted]{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.data-\[highlighted\]\:bg-red-50[data-highlighted]{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:bg-\[var\(--profile-surface-hover\)\][data-state=open]{background-color:var(--profile-surface-hover)}.data-\[state\=open\]\:bg-\[var\(--sidebar-profile-hover-bg\)\][data-state=open]{background-color:var(--sidebar-profile-hover-bg)}.data-\[state\=open\]\:bg-blue-50[data-state=open]{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.data-\[state\=open\]\:bg-white[data-state=open]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[disabled\]\:text-slate-400[data-disabled]{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.data-\[highlighted\]\:text-\[var\(--profile-accent\)\][data-highlighted]{color:var(--profile-accent)}.data-\[highlighted\]\:text-\[var\(--profile-text\)\][data-highlighted]{color:var(--profile-text)}.data-\[highlighted\]\:text-blue-700[data-highlighted]{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.data-\[highlighted\]\:text-red-800[data-highlighted]{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.data-\[state\=open\]\:text-blue-700[data-state=open]{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.data-\[state\=open\]\:text-slate-700[data-state=open]{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.data-\[disabled\]\:opacity-60[data-disabled]{opacity:.6}@media (max-width: 760px){.max-\[760px\]\:col-span-full{grid-column:1 / -1}.max-\[760px\]\:w-full{width:100%}.max-\[760px\]\:grid-cols-\[auto_32px_minmax\(0\,1fr\)\]{grid-template-columns:auto 32px minmax(0,1fr)}.max-\[760px\]\:grid-cols-\[auto_auto_minmax\(0\,1fr\)\]{grid-template-columns:auto auto minmax(0,1fr)}.max-\[760px\]\:grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.max-\[760px\]\:pt-3{padding-top:.75rem}}@media (max-width: 700px){.max-\[700px\]\:col-start-2{grid-column-start:2}.max-\[700px\]\:grid-cols-\[32px_minmax\(0\,1fr\)\]{grid-template-columns:32px minmax(0,1fr)}.max-\[700px\]\:justify-items-start{justify-items:start}}@media (max-width: 540px){.max-\[540px\]\:col-span-full{grid-column:1 / -1}.max-\[540px\]\:col-start-1{grid-column-start:1}.max-\[540px\]\:col-start-2{grid-column-start:2}.max-\[540px\]\:col-start-3{grid-column-start:3}.max-\[540px\]\:col-end-4{grid-column-end:4}.max-\[540px\]\:col-end-\[-1\]{grid-column-end:-1}.max-\[540px\]\:row-start-1{grid-row-start:1}.max-\[540px\]\:row-start-2{grid-row-start:2}.max-\[540px\]\:hidden{display:none}.max-\[540px\]\:grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.max-\[540px\]\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.max-\[540px\]\:items-start{align-items:flex-start}.max-\[540px\]\:justify-start{justify-content:flex-start}.max-\[540px\]\:gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.max-\[540px\]\:gap-y-2{row-gap:.5rem}.max-\[540px\]\:self-center{align-self:center}.max-\[540px\]\:whitespace-normal{white-space:normal}.max-\[540px\]\:text-left{text-align:left}}@media (min-width: 640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-items-end{justify-items:end}.sm\:self-center{align-self:center}.sm\:rounded-xl{border-radius:.75rem}.sm\:border{border-width:1px}.sm\:p-4{padding:1rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}}@media (min-width: 768px){.md\:w-\[170px\]{width:170px}.md\:w-\[240px\]{width:240px}.md\:shrink-0{flex-shrink:0}.md\:grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.md\:grid-cols-\[minmax\(0\,1fr\)_minmax\(260px\,0\.62fr\)\]{grid-template-columns:minmax(0,1fr) minmax(260px,.62fr)}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:self-center{align-self:center}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,1fr\)_300px\]{grid-template-columns:minmax(0,1fr) 300px}.lg\:grid-cols-\[minmax\(220px\,1fr\)_170px_170px\]{grid-template-columns:minmax(220px,1fr) 170px 170px}.lg\:grid-cols-\[minmax\(260px\,0\.85fr\)_minmax\(0\,1\.15fr\)\]{grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:justify-end{justify-content:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:px-11{padding-left:2.75rem;padding-right:2.75rem}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:pt-0\.5{padding-top:.125rem}.lg\:text-right{text-align:right}}.\[\&\>svg\:last-child\]\:ml-auto>svg:last-child{margin-left:auto}.\[\&\>svg\:last-child\]\:shrink-0>svg:last-child{flex-shrink:0}.\[\&\>svg\:last-child\]\:text-\[var\(--profile-muted\)\]>svg:last-child{color:var(--profile-muted)}.\[\&\>svg\:last-child\]\:text-\[var\(--sidebar-muted\)\]>svg:last-child{color:var(--sidebar-muted)}.\[\&_h2\]\:m-0 h2{margin:0}.\[\&_h2\]\:text-\[19px\] h2{font-size:19px}.\[\&_h2\]\:font-bold h2{font-weight:700}.\[\&_h2\]\:text-slate-900 h2{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.\[\&_p\]\:m-0 p{margin:0}.\[\&_p\]\:mt-1 p{margin-top:.25rem}.\[\&_p\]\:text-sm p{font-size:.875rem;line-height:1.25rem}.\[\&_p\]\:text-slate-500 p{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-3\.5 svg{width:.875rem;height:.875rem}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\]\:text-amber-700 svg{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.\[\&_svg\]\:text-emerald-700 svg{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.\[\&_svg\]\:text-slate-500 svg{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}.\[\&_tr\]\:border-solid tr{border-style:solid}
