@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-greek.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/nunito-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/nunito-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--opal-violet-50: #f2effe;--opal-violet-100: #e3ddfc;--opal-violet-300: #b3a3f5;--opal-violet-500: #7c5cf0;--opal-violet-600: #6541db;--opal-violet-700: #5231b8;--opal-violet-900: #2e1b6b;--opal-teal-50: #e6f9f7;--opal-teal-500: #12b5a8;--opal-teal-600: #0e9589;--opal-amber-50: #fef6e7;--opal-amber-500: #f5a524;--opal-amber-600: #d48806;--opal-coral-500: #f2555a;--opal-coral-600: #d93a40;--opal-crimson-600: #e5484d;--neutral-0: #ffffff;--neutral-25: #fcfcfd;--neutral-50: #f7f7fa;--neutral-100: #efeff4;--neutral-200: #e2e2ea;--neutral-300: #cbcbd6;--neutral-400: #9e9eaf;--neutral-500: #71718a;--neutral-700: #454560;--neutral-900: #1a1a2e;--color-canvas: var(--neutral-25);--color-surface: var(--neutral-0);--color-surface-sunken: var(--neutral-50);--color-surface-hover: var(--neutral-100);--color-border: var(--neutral-200);--color-border-strong: var(--neutral-300);--color-overlay: rgba(26, 26, 46, .45);--color-text-primary: var(--neutral-900);--color-text-secondary: var(--neutral-500);--color-text-placeholder: var(--neutral-400);--color-text-inverse: var(--neutral-0);--color-primary: var(--opal-violet-500);--color-primary-hover: var(--opal-violet-600);--color-primary-active: var(--opal-violet-700);--color-primary-subtle: var(--opal-violet-50);--color-success: var(--opal-teal-500);--color-warning: var(--opal-amber-500);--color-danger: var(--opal-coral-500);--color-teacher-cursor: var(--opal-crimson-600);--color-student-cursor-1: #2e8fe5;--color-student-cursor-2: #12b5a8;--color-student-cursor-3: #f5a524;--color-student-cursor-4: #a855c7;--color-student-cursor-5: #e5793a;--color-timer-normal: var(--opal-violet-500);--color-timer-warning: var(--opal-amber-500);--color-timer-critical: var(--opal-coral-500);--color-ink-default: var(--neutral-900);--pen-1-ink: #1a1a2e;--pen-2-red: #e5484d;--pen-3-orange: #e5793a;--pen-4-amber: #f5a524;--pen-5-teal: #12b5a8;--pen-6-green: #2a9d4e;--pen-7-blue: #2e8fe5;--pen-8-indigo: #3b4ddb;--pen-9-violet: #7c5cf0;--pen-10-magenta: #c44ba0;--pen-11-brown: #8b6544;--pen-12-grey: #71718a;--highlighter-opacity: .4;--sticky-yellow: #ffe9a8;--sticky-pink: #ffd3d8;--sticky-orange: #ffdcc2;--sticky-green: #c9edcb;--sticky-blue: #cbe4fa;--sticky-violet: #ded6fb;--sticky-ink: #1a1a2e;--sticky-edge: rgba(26, 26, 46, .12);--laser: #ff2d55;--laser-glow: rgba(255, 45, 85, .28);--font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--font-rounded: "Nunito", "Inter", system-ui, sans-serif;--text-xs: .75rem;--text-xs-lh: 1rem;--text-sm: .875rem;--text-sm-lh: 1.25rem;--text-base: 1rem;--text-base-lh: 1.5rem;--text-lg: 1.125rem;--text-lg-lh: 1.75rem;--text-xl: 1.25rem;--text-xl-lh: 1.75rem;--text-2xl: 1.5rem;--text-2xl-lh: 2rem;--text-3xl: 1.875rem;--text-3xl-lh: 2.375rem;--text-timer: 2.5rem;--text-timer-lh: 2.75rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(26, 26, 46, .06);--shadow-md: 0 4px 12px rgba(26, 26, 46, .08);--shadow-lg: 0 8px 28px rgba(26, 26, 46, .12);--shadow-xl: 0 16px 48px rgba(26, 26, 46, .16);--icon-sm: 16px;--icon-md: 20px;--icon-lg: 24px;--icon-xl: 32px;--duration-instant: .1s;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-celebrate: 2.5s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--header-height: 56px;--tool-rail-width: 64px;--properties-panel-width: 240px;--page-tabs-height: 40px;--scrollbar-size: 12px;--tool-button-size: 48px;--min-touch-target: 44px}[data-theme=dark]{--color-canvas: #14141f;--color-surface: #1c1c2a;--color-surface-sunken: #12121c;--color-surface-hover: #26263a;--color-border: #2e2e44;--color-text-primary: #efeff4;--color-text-secondary: #9e9eaf;--color-primary: #9478f5;--pen-1-ink: #e8e8f2;--pen-2-red: #ff6165;--pen-3-orange: #ff8f4d;--pen-4-amber: #ffbc45;--pen-5-teal: #2fd4c6;--pen-6-green: #45bb6b;--pen-7-blue: #55a9ef;--pen-8-indigo: #5f6ff0;--pen-9-violet: #9478f5;--pen-10-magenta: #dd67ba;--pen-11-brown: #a67d59;--pen-12-grey: #9494ab;--laser: #ff5c7c;--laser-glow: rgba(255, 92, 124, .32)}[data-preset=ocean]{--color-primary: #2e8fe5;--color-primary-hover: #2477c2;--color-primary-active: #1c5f9c;--color-success: #12b5a8}[data-preset=forest]{--color-primary: #2a9d4e;--color-primary-hover: #21803f;--color-primary-active: #196531;--color-success: #f5a524}[data-preset=sunset]{--color-primary: #e5793a;--color-primary-hover: #c4622b;--color-primary-active: #a24f21;--color-success: #c44ba0}[data-preset=slate]{--color-primary: #454560;--color-primary-hover: #35354b;--color-primary-active: #282839;--color-success: #2e8fe5}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}*,: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,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";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:var(--font-mono);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}html{font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--color-surface-sunken);color:var(--color-text-primary);overscroll-behavior:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tabular{font-variant-numeric:tabular-nums}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.canvas-surface{touch-action:none;overscroll-behavior:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;background:var(--color-canvas)}@keyframes shake-once{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.shake-once{animation:shake-once var(--duration-normal) var(--ease-out) 1}@media(prefers-reduced-motion:reduce){.shake-once{animation:none}}.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}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.\!sticky{position:sticky!important}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.bottom-3{bottom:var(--space-3)}.bottom-6{bottom:var(--space-6)}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:var(--space-4)}.right-0{right:0}.right-2{right:var(--space-2)}.right-3{right:var(--space-3)}.right-6{right:var(--space-6)}.top-0{top:0}.top-2{top:var(--space-2)}.top-4{top:var(--space-4)}.top-full{top:100%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-2{margin-top:var(--space-2)}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-16{height:var(--space-16)}.h-2{height:var(--space-2)}.h-3{height:var(--space-3)}.h-5{height:var(--space-5)}.h-6{height:var(--space-6)}.h-8{height:var(--space-8)}.h-\[150px\]{height:150px}.h-\[180px\]{height:180px}.h-\[200px\]{height:200px}.h-\[320px\]{height:320px}.h-full{height:100%}.h-header{height:var(--header-height)}.h-screen{height:100vh}.h-tabs{height:var(--page-tabs-height)}.h-touch{height:var(--min-touch-target)}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.min-h-touch{min-height:var(--min-touch-target)}.w-12{width:var(--space-12)}.w-14{width:3.5rem}.w-2{width:var(--space-2)}.w-3{width:var(--space-3)}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:var(--space-5)}.w-6{width:var(--space-6)}.w-8{width:var(--space-8)}.w-\[200px\]{width:200px}.w-\[240px\]{width:240px}.w-\[280px\]{width:280px}.w-\[420px\]{width:420px}.w-full{width:100%}.w-panel{width:var(--properties-panel-width)}.w-touch{width:var(--min-touch-target)}.min-w-0{min-width:0px}.min-w-16{min-width:var(--space-16)}.min-w-\[240px\]{min-width:240px}.min-w-\[64px\]{min-width:64px}.max-w-40{max-width:10rem}.max-w-\[1200px\]{max-width:1200px}.max-w-\[220px\]{max-width:220px}.max-w-\[320px\]{max-width:320px}.max-w-\[400px\]{max-width:400px}.max-w-\[420px\]{max-width:420px}.max-w-\[440px\]{max-width:440px}.max-w-\[640px\]{max-width:640px}.max-w-\[840px\]{max-width:840px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -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-y-full{--tw-translate-y: -100%;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))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-12{gap:var(--space-12)}.gap-16{gap:var(--space-16)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-border{border-color:var(--color-border)}.border-border-strong{border-color:var(--color-border-strong)}.border-danger{border-color:var(--color-danger)}.border-primary{border-color:var(--color-primary)}.border-text-primary{border-color:var(--color-text-primary)}.border-warning{border-color:var(--color-warning)}.bg-border-strong{background-color:var(--color-border-strong)}.bg-canvas{background-color:var(--color-canvas)}.bg-danger{background-color:var(--color-danger)}.bg-overlay{background-color:var(--color-overlay)}.bg-primary{background-color:var(--color-primary)}.bg-primary-subtle{background-color:var(--color-primary-subtle)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-sunken{background-color:var(--color-surface-sunken)}.bg-teacher-cursor{background-color:var(--color-teacher-cursor)}.bg-text-placeholder{background-color:var(--color-text-placeholder)}.bg-warning{background-color:var(--color-warning)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-12{padding:var(--space-12)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.pb-2{padding-bottom:var(--space-2)}.pb-3{padding-bottom:var(--space-3)}.pl-2{padding-left:var(--space-2)}.pt-2{padding-top:var(--space-2)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--text-2xl-lh)}.text-3xl{font-size:var(--text-3xl);line-height:var(--text-3xl-lh)}.text-base{font-size:var(--text-base);line-height:var(--text-base-lh)}.text-lg{font-size:var(--text-lg);line-height:var(--text-lg-lh)}.text-sm{font-size:var(--text-sm);line-height:var(--text-sm-lh)}.text-xl{font-size:var(--text-xl);line-height:var(--text-xl-lh)}.text-xs{font-size:var(--text-xs);line-height:var(--text-xs-lh)}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.\!italic{font-style:italic!important}.italic{font-style:italic}.leading-none{line-height:1}.text-danger{color:var(--color-danger)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-text-inverse{color:var(--color-text-inverse)}.text-text-placeholder{color:var(--color-text-placeholder)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-warning{color:var(--color-warning)}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.accent-primary{accent-color:var(--color-primary)}.opacity-0{opacity:0}.shadow-lg{--tw-shadow: var(--shadow-lg);--tw-shadow-colored: var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: var(--shadow-xl);--tw-shadow-colored: var(--shadow-xl);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}.outline-1{outline-width:1px}.outline-primary{outline-color:var(--color-primary)}.ring{--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)}.ring-1{--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(1px + 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)}.ring-2{--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)}.ring-border{--tw-ring-color: var(--color-border)}.ring-primary{--tw-ring-color: var(--color-primary)}.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,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-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-fast{transition-duration:.15s}.duration-instant{transition-duration:.1s}.ease-out{transition-timing-function:var(--ease-out)}.placeholder\:text-text-placeholder::-moz-placeholder{color:var(--color-text-placeholder)}.placeholder\:text-text-placeholder::placeholder{color:var(--color-text-placeholder)}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:-translate-y-\[2px\]:hover{--tw-translate-y: -2px;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))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;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))}.hover\:bg-primary-hover:hover{background-color:var(--color-primary-hover)}.hover\:bg-surface-hover:hover{background-color:var(--color-surface-hover)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:bg-surface-hover:focus{background-color:var(--color-surface-hover)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.active\:translate-y-0:active{--tw-translate-y: 0px;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))}.active\:bg-primary-active:active{background-color:var(--color-primary-active)}.active\:bg-surface-hover:active{background-color:var(--color-surface-hover)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-text-placeholder:disabled{color:var(--color-text-placeholder)}.disabled\:text-text-secondary:disabled{color:var(--color-text-secondary)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}@media(max-width:640px){.max-\[640px\]\:hidden{display:none}.max-\[640px\]\:w-full{width:100%}.max-\[640px\]\:p-4{padding:var(--space-4)}.max-\[640px\]\:p-6{padding:var(--space-6)}}@media(min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
