/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-content:"";--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.\@container\/card-header{container:card-header/inline-size}.absolute{position:absolute}.relative{position:relative}.static{position:static}.top-1\/2{top:50%}.z-10{z-index:10}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}.mt-px{margin-top:1px}.mb-px{margin-bottom:1px}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-\[1px\]{height:1px}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-\[1px\]{width:1px}.w-\[70px\]{width:70px}.w-\[140px\]{width:140px}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-none{max-width:none}.min-w-\[8rem\]{min-width:8rem}.min-w-\[50px\]{min-width:50px}.min-w-\[90px\]{min-width:90px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}:where(.space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px*var(--tw-space-y-reverse));margin-block-end:calc(1px*calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-input{border-color:var(--input)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.p-\[1px\]{padding:1px}.text-center{text-align:center}.text-left{text-align:left}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent-foreground{color:var(--accent-foreground)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);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-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-muted-foreground::-moz-placeholder{color:var(--muted-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}@media(hover:hover){.hover\:border-accent-foreground\/20:hover{border-color:var(--accent-foreground)}@supports (color:color-mix(in lab,red,red)){.hover\:border-accent-foreground\/20:hover{border-color:color-mix(in oklab,var(--accent-foreground)20%,transparent)}}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,var(--destructive)80%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.hover\:bg-primary\/50:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/50:hover{background-color:color-mix(in oklab,var(--primary)50%,transparent)}}.hover\:bg-primary\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[state\=active\]\:border-b-2[data-state=active]{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.data-\[state\=active\]\:border-primary[data-state=active]{border-color:var(--primary)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=inactive\]\:hidden[data-state=inactive]{display:none}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{rotate:90deg}:root{--radius:.25rem;--background:oklch(98% 0 0);--foreground:oklch(15% 0 0);--card:oklch(99% 0 0);--card-foreground:oklch(15% 0 0);--popover:oklch(99% 0 0);--popover-foreground:oklch(15% 0 0);--primary:oklch(50% .2 250);--primary-foreground:oklch(99% 0 0);--secondary:oklch(94% .01 240);--secondary-foreground:oklch(20% 0 0);--muted:oklch(96% .005 240);--muted-foreground:oklch(48% .01 240);--accent:oklch(92% .01 240);--accent-foreground:oklch(15% 0 0);--destructive:oklch(55% .24 25);--border:oklch(88% .005 240);--input:oklch(96% .005 240);--ring:oklch(50% .2 250);--chart-1:oklch(50% .2 250);--chart-2:oklch(55% .18 180);--chart-3:oklch(60% .2 80);--chart-4:oklch(52% .18 300);--chart-5:oklch(58% .22 20)}@layer base{*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring)50%,transparent)}}body{background-color:var(--background);color:var(--foreground);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}html,body,#root{height:100%;min-height:100vh;margin:0;padding:0}}.app-shell{color:#e2e8f0;background:radial-gradient(circle at 20% -10%,#4f46e540,#0000 40%),#020617;width:100%;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;overflow:hidden}.pane{flex-direction:column;display:flex;position:relative}.left-pane{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#0f172acc,#0f172a99);border-right:1px solid #94a3b81f;min-width:320px;box-shadow:inset -1px 0 #0f172a66}.pane-header{border-bottom:1px solid #33415599;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.5rem 2.25rem;display:flex}.pane-heading{flex-direction:column;gap:.35rem;display:flex}.pane-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.pane-tag{letter-spacing:.32em;text-transform:uppercase;color:#94a3b8e6;margin:0;font-size:.65rem}.pane-title{margin:.35rem 0 0;font-size:2rem;font-weight:600}.login-screen{color:#e2e8f0;background:radial-gradient(circle at 20% -10%,#4f46e540,#0000 40%),#020617;justify-content:center;align-items:center;min-height:100vh;padding:2rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.login-card{text-align:center;background:linear-gradient(160deg,#0f172ae6,#1e293bd9);border:1px solid #94a3b840;border-radius:1.25rem;flex-direction:column;gap:1.5rem;width:100%;max-width:420px;padding:2.5rem 2.75rem;display:flex;box-shadow:0 30px 80px #0f172a73}.login-card--loading{justify-content:center;align-items:center;gap:1rem}.login-header h1{margin:0;font-size:1.75rem;font-weight:600}.login-header p{color:#94a3b8e6;margin:.5rem 0 0;font-size:.95rem}.login-button{color:#f8fafc;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:.9rem;justify-content:center;align-items:center;gap:.6rem;padding:.85rem 1.25rem;font-size:1rem;font-weight:600;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex}.login-button:hover{transform:translateY(-1px);box-shadow:0 12px 40px #4f46e559}.login-button:active{transform:translateY(0)}.login-button:disabled{opacity:.65;cursor:not-allowed;filter:grayscale(.2);box-shadow:none}.login-button .icon{width:1.2rem;height:1.2rem}.login-footnote{color:#94a3b8d9;margin:0;font-size:.85rem}.lesson-controls{gap:.75rem;display:flex}.account-info{background:#1e293ba6;border:1px solid #94a3b840;border-radius:.75rem;align-items:center;gap:.75rem;min-width:0;padding:.6rem .9rem;display:flex}.account-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.account-name{color:#f8fafc;text-overflow:ellipsis;max-width:220px;font-size:.95rem;font-weight:600;overflow:hidden}.account-email{color:#94a3b8d9;text-overflow:ellipsis;max-width:220px;font-size:.8rem;overflow:hidden}.account-role{letter-spacing:.08em;text-transform:uppercase;color:#fbbf24;white-space:nowrap;background:#fbbf241a;border:1px solid #fbbf2466;border-radius:999px;padding:.2rem .5rem;font-size:.7rem;font-weight:600}.account-signout{color:#e2e8f0;cursor:pointer;background:#1e293ba6;border:1px solid #94a3b840;border-radius:.75rem;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-weight:500;transition:background .18s,box-shadow .18s,transform .18s;display:inline-flex}.account-signout:hover{background:#334155cc;transform:translateY(-1px);box-shadow:0 10px 30px #0f172a59}.account-signout:active{transform:translateY(0)}.account-signout:focus-visible{outline-offset:2px;outline:2px solid #818cf88c}.account-signout .icon{width:1rem;height:1rem}.control-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;border-radius:.75rem;padding:.65rem 1.4rem;font-size:.95rem;font-weight:500;transition:transform .18s,box-shadow .18s,background .18s}.control-button:focus-visible{outline-offset:2px;outline:2px solid #818cf873}.control-button--primary{color:#f8fafc;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 12px 30px #6366f159}.control-button--primary:hover{transform:translateY(-1px);box-shadow:0 16px 36px #6366f173}.control-button--ghost{color:#e2e8f0f2;background:#0f172a8c;border:1px solid #4755698c}.control-button--ghost:hover{background:#1e293bd9;border-color:#818cf866}.lesson-body{flex:1;display:flex;overflow:hidden}.markdown-pane{border-right:1px solid #334155a6;flex-direction:column;width:45%;min-width:260px;display:flex}.markdown-scroll{scrollbar-width:thin;flex:1;padding:2rem 2.25rem;overflow:auto}.markdown{color:#e2e8f0f2;max-width:none;line-height:1.75}.lesson-placeholder,.lesson-alert{color:#e2e8f0d9;background:#0f172aa6;border:1px solid #47556973;border-radius:1rem;padding:1.25rem 1.5rem;font-size:.95rem;line-height:1.6}.lesson-alert--error{color:#fee2e2eb;background:#ef444429;border-color:#f8717173}.markdown h1,.markdown h2,.markdown h3{color:#f8fafc;margin-top:1.5em;font-weight:600}.markdown pre{background:#0f172aa6;border:1px solid #47556980;border-radius:.75rem;padding:1rem}.code-pane{flex-direction:column;flex:1;gap:1.5rem;min-width:0;padding:2rem 2.25rem;display:flex;overflow:hidden}.code-card{background:#020617bf;border:1px solid #6366f126;border-radius:1.25rem;flex-direction:column;flex:1;display:flex;overflow:hidden;box-shadow:0 30px 80px #0f172a73}.code-card-header{border-bottom:1px solid #6366f126;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;display:flex}.code-card-overline{letter-spacing:.2em;text-transform:uppercase;color:#a5b4fcd1;margin:0;font-size:.75rem}.code-card-title{margin:.4rem 0 0;font-size:1.2rem;font-weight:600}.code-card-hint{color:#a5b4fcf2;background:#6366f11f;border-radius:999px;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.75rem;display:inline-flex}.code-block{color:#cbd5e1f2;scrollbar-width:thin;background:#020617d9;flex:1;margin:0;padding:1.5rem 1.75rem;font-family:JetBrains Mono,Fira Code,Source Code Pro,monospace;font-size:.85rem;line-height:1.8;overflow:auto}.lesson-hints{color:#94a3b8d9;flex-wrap:wrap;gap:.75rem;font-size:.75rem;display:flex}.lesson-hints span{background:#0f172a8c;border:1px solid #47556973;border-radius:999px;padding:.4rem .9rem}.pane-divider{cursor:col-resize;background:#0f172aa6;border-left:1px solid #6366f11f;border-right:1px solid #0f172abf;justify-content:center;align-items:center;width:14px;display:flex;position:relative}.pane-divider span{background:linear-gradient(#0000,#818cf8d9,#0000);border-radius:999px;width:4px;height:48%;display:block}.pane-divider:focus-visible{outline-offset:2px;outline:2px solid #818cf899}.right-pane{background:radial-gradient(circle at 85% 15%,#38bdf82e,#0000 45%),#020617eb;flex:1;justify-content:center;align-items:center;min-width:320px;padding:3rem 2.5rem;display:flex}.upload-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172ad1;border:1px solid #6366f133;border-radius:1.5rem;flex-direction:column;gap:1.5rem;width:min(520px,100%);padding:2.5rem;display:flex;box-shadow:0 45px 120px #0f172a80}.upload-card-header{grid-template-columns:auto 1fr;align-items:center;gap:1.25rem;display:grid}.upload-card-icon{color:#f8fafc;background:linear-gradient(135deg,#6366f199,#3b82f699);border-radius:1rem;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;display:flex}.upload-card-icon .icon{width:1.5rem;height:1.5rem}.upload-card-overline{letter-spacing:.22em;text-transform:uppercase;color:#94a3b8bf;margin:0;font-size:.75rem}.upload-card-title{margin:.35rem 0 .2rem;font-size:1.45rem;font-weight:600}.upload-card-subtitle{color:#94a3b8f2;margin:0;font-size:.9rem}.dropzone{text-align:center;cursor:pointer;background:#020617a6;border:1.5px dashed #6366f166;border-radius:1.25rem;flex-direction:column;gap:.75rem;padding:2.75rem 2rem;transition:border-color .2s,background .2s,transform .2s;display:flex;position:relative}.dropzone:hover{background:#0f172ab3;border-color:#818cf8b3;transform:translateY(-1px)}.dropzone input{opacity:0;cursor:pointer;position:absolute;top:0;right:0;bottom:0;left:0}.dropzone-visual{color:#a5b4fcf2;background:#6366f12e;border-radius:999px;place-items:center;width:3.5rem;height:3.5rem;margin:0 auto;display:grid}.dropzone-visual .icon{width:1.6rem;height:1.6rem}.dropzone-title{margin:.25rem 0 0;font-size:1rem;font-weight:500}.dropzone-subtitle{color:#94a3b8e6;margin:0;font-size:.85rem}.status{border-radius:.9rem;align-items:center;gap:.6rem;padding:.85rem 1rem;font-size:.85rem;display:flex}.status .icon{width:1rem;height:1rem}.status--info{color:#bfdbfef2;background:#2563eb2e;border:1px solid #3b82f633}.status--error{color:#fee2e2f2;background:#ef44442e;border:1px solid #f871714d}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hash-panel{flex-direction:column;gap:.75rem;display:flex}.hash-panel-label{text-transform:uppercase;letter-spacing:.18em;color:#94a3b8d9;font-size:.8rem}.hash-panel-value{color:#e2e8f0f2;scrollbar-width:thin;word-break:break-all;background:#020617cc;border:1px solid #4755698c;border-radius:1rem;max-height:9rem;padding:1.1rem 1.25rem;font-family:JetBrains Mono,Fira Code,Source Code Pro,monospace;font-size:.78rem;display:block;overflow:auto}.simulation-controls{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.simulation-controls-label{text-transform:uppercase;letter-spacing:.18em;color:#94a3b8d9;font-size:.8rem}.simulation-duration-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#e2e8f0f2;background:#020617cc;border:1px solid #4755698c;border-radius:.75rem;padding:.6rem 1rem;font-size:.9rem}.simulation-duration-select:focus-visible{outline-offset:2px;outline:2px solid #818cf873}.simulation-restart{color:#bfdbfef2;cursor:pointer;background:#3b82f61f;border:1px solid #3b82f659;border-radius:.75rem;margin-left:auto;padding:.55rem 1.1rem;font-size:.85rem;font-weight:500;transition:background .2s,border-color .2s}.simulation-restart:disabled{opacity:.6;cursor:not-allowed}.simulation-restart:not(:disabled):hover{background:#3b82f638;border-color:#3b82f68c}.simulation-panel{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.simulation-status{color:#e2e8f0f2;background:#0f172a99;border:1px solid #47556973;border-radius:1rem;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.simulation-status--initializing{background:#2563eb24;border-color:#3b82f673}.simulation-status--running{background:#10b98126;border-color:#22c55e66}.simulation-status--completed{background:#3b82f61f;border-color:#93c5fd59}.simulation-status--failed{background:#ef444429;border-color:#f8717159}.simulation-status--stopped{background:#f59e0b2e;border-color:#fbbf2459}.simulation-status-indicator{background:#e2e8f073;border-radius:9999px;flex-shrink:0;width:.75rem;height:.75rem}.simulation-status--initializing .simulation-status-indicator{background:#3b82f6d9}.simulation-status--running .simulation-status-indicator{background:#10b981e6}.simulation-status--completed .simulation-status-indicator{background:#3b82f6b3}.simulation-status--failed .simulation-status-indicator{background:#ef4444e6}.simulation-status--stopped .simulation-status-indicator{background:#fbbf24d9}.simulation-status-text{flex-direction:column;gap:.1rem;display:flex}.simulation-status-phase{margin:0;font-size:.9rem;font-weight:600}.simulation-status-message{color:#cbd5e1e6;margin:0;font-size:.8rem}.simulation-status-actions{align-items:center;gap:.75rem;margin-left:auto;display:flex}.simulation-stop{color:#fee2e2f2;cursor:pointer;background:#ef444440;border:none;border-radius:.75rem;padding:.45rem 1rem;font-size:.8rem;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s}.simulation-stop:not(:disabled):hover{background:#ef444459;transform:translateY(-1px);box-shadow:0 12px 30px #ef444438}.simulation-stop:disabled{opacity:.7;cursor:not-allowed}.console-toggle-group{flex-wrap:wrap;gap:.5rem;display:flex}.console-toggle{color:#e2e8f0e6;cursor:pointer;background:#020617b3;border:1px solid #47556980;border-radius:.75rem;padding:.5rem .9rem;font-size:.8rem;transition:background .2s,border-color .2s,color .2s}.console-toggle--active{color:#e0e7fff2;background:#6366f133;border-color:#818cf899}.console-toggle--ghost{color:#94a3b8d9;background:0 0;border-style:dashed;border-color:#94a3b866}.console-grid{gap:1rem;display:grid}.console-grid.columns-1{grid-template-columns:1fr}.console-grid.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.console-grid.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.console-pane{background:#020617d1;border:1px solid #4755698c;border-radius:1rem;flex-direction:column;min-height:0;display:flex}.console-header{color:#e2e8f0eb;margin:0;padding:.85rem 1rem .5rem;font-size:.85rem;font-weight:600}.console-output{color:#e2e8f0f2;scrollbar-width:thin;flex:1;max-height:12rem;padding:.85rem 1rem;font-family:JetBrains Mono,Fira Code,Source Code Pro,monospace;font-size:.78rem;line-height:1.45;overflow:auto}.console-output pre{white-space:pre-wrap;margin:0}.console-placeholder{color:#94a3b8d9;margin:0;font-size:.8rem}.console-input{border-top:1px solid #47556973;gap:.6rem;padding:.75rem 1rem 1rem;display:flex}.console-input input{color:#e2e8f0f2;background:#0f172a99;border:1px solid #47556973;border-radius:.6rem;flex:1;padding:.55rem .8rem;font-size:.85rem}.console-input input:disabled{opacity:.6;cursor:not-allowed}.console-input button{color:#e0e7fff2;cursor:pointer;background:#6366f12e;border:1px solid #6366f180;border-radius:.6rem;padding:.5rem .9rem;font-size:.8rem;font-weight:500;transition:background .2s,border-color .2s}.console-input button:disabled{opacity:.6;cursor:not-allowed}.console-input button:not(:disabled):hover{background:#6366f147;border-color:#6366f1b3}.console-textarea{color:#e2e8f0f2;resize:vertical;background:#0f172a99;border:1px solid #47556973;border-radius:.75rem;min-height:3.5rem;margin:0 1rem;padding:.75rem .9rem;font-family:JetBrains Mono,Fira Code,Source Code Pro,monospace;font-size:.85rem}.console-textarea:disabled{opacity:.6;cursor:not-allowed}.console-hint{color:#94a3b8b3;margin:.4rem 1rem 1rem;font-size:.75rem}.renode-placeholder{color:#94a3b8d9;margin:0;font-size:.85rem;line-height:1.5}@media(max-width:1024px){.app-shell{flex-direction:column;min-height:auto}.pane-divider{display:none}.left-pane,.right-pane{min-width:0;width:100%!important}.lesson-body{flex-direction:column}.markdown-pane{border-bottom:1px solid #33415599;border-right:none;width:100%}.markdown-scroll,.code-pane{padding:1.75rem}.lesson-hints{justify-content:center}.upload-card{padding:2rem}.simulation-controls{align-items:flex-start}.simulation-restart{margin-left:0}.console-grid.columns-2,.console-grid.columns-3{grid-template-columns:1fr}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@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));filter:blur(var(--tw-enter-blur,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));filter:blur(var(--tw-exit-blur,0))}}
