/*! tailwindcss v4.2.4 | 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-font-weight:initial;--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;--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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-green-100:oklch(96.2% .044 156.743);--color-green-800:oklch(44.8% .119 151.328);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-800:oklch(42.4% .199 265.638);--color-purple-500:oklch(62.7% .265 303.9);--color-pink-500:oklch(65.6% .241 354.308);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-12{height:calc(var(--spacing) * 12)}.h-64{height:calc(var(--spacing) * 64)}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-12{width:calc(var(--spacing) * 12)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.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-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-blue-500{border-color:var(--color-blue-500)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-green-100{background-color:var(--color-green-100)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-white{background-color:var(--color-white)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-purple-500{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-pink-500{--tw-gradient-to:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-blue-500{color:var(--color-blue-500)}.text-blue-800{color:var(--color-blue-800)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-green-800{color:var(--color-green-800)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-white{color:var(--color-white)}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (width>=64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}}:root{--color-primary:#ffc700;--color-primary-hover:gold;--color-primary-active:#e6b300;--color-primary-rgb:255, 199, 0;--color-warning:#06f;--color-warning-hover:#3385ff;--color-warning-active:#0052cc;--color-accent:#0c6;--color-accent-hover:#33d97f;--color-accent-active:#00a352;--color-secondary:#93f;--color-secondary-hover:#b366ff;--color-secondary-active:#7a29cc;--color-danger:#f36;--color-danger-hover:#f69;--color-danger-active:#cc2952;--color-surface:#fff;--color-surface-elevated:#fafbfc;--color-surface-sunken:#f5f7fa;--color-surface-overlay:#fffffff2;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#64748b;--color-text-inverse:#fff;--color-text-on-primary:#000;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-border-focus:var(--color-primary);--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-glow:0 0 20px rgba(var(--color-primary-rgb), .3);--space-3xs:clamp(.25rem, .23rem + .11vw, .31rem);--space-2xs:clamp(.5rem, .46rem + .22vw, .63rem);--space-xs:clamp(.75rem, .68rem + .33vw, .94rem);--space-sm:clamp(1rem, .91rem + .43vw, 1.25rem);--space-md:clamp(1.5rem, 1.37rem + .65vw, 1.88rem);--space-lg:clamp(2rem, 1.83rem + .87vw, 2.5rem);--space-xl:clamp(3rem, 2.74rem + 1.3vw, 3.75rem);--space-2xl:clamp(4rem, 3.65rem + 1.74vw, 5rem);--space-3xl:clamp(6rem, 5.48rem + 2.61vw, 7.5rem);--text-xs:clamp(.75rem, .71rem + .22vw, .875rem);--text-sm:clamp(.875rem, .83rem + .22vw, 1rem);--text-base:clamp(1rem, .96rem + .22vw, 1.125rem);--text-lg:clamp(1.125rem, 1.06rem + .33vw, 1.313rem);--text-xl:clamp(1.25rem, 1.15rem + .54vw, 1.563rem);--text-2xl:clamp(1.5rem, 1.33rem + .87vw, 2rem);--text-3xl:clamp(1.875rem, 1.58rem + 1.52vw, 2.75rem);--text-4xl:clamp(2.25rem, 1.8rem + 2.39vw, 3.75rem);--text-5xl:clamp(3rem, 2.17rem + 4.13vw, 5.5rem);--leading-none:1;--leading-tight:1.2;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.5s cubic-bezier(.68, -.55, .265, 1.55);--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--color-card-bg:#ffffffe6;--color-card-bg-subtle:#f8fafcd9;--color-card-bg-hover:#f1f5f9f2;--color-card-bg-faint:#f8fafcb3;--color-card-border:#0000001a;--color-card-border-hover:#0000002e;--color-card-border-faint:#0000000d;--color-spinner-border:#0000001a;--color-page-bg:var(--color-surface-sunken);--color-scrollbar-thumb:#0003;--z-base:0;--z-dropdown:1000;--z-sticky:1100;--z-fixed:1200;--z-modal-backdrop:1300;--z-modal:1400;--z-popover:1500;--z-tooltip:1600;font-family:var(--font-sans);font-size:18px;line-height:var(--leading-normal);letter-spacing:var(--tracking-tight);color:var(--color-text-primary);background:var(--color-surface-sunken);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (width<=640px){:root{font-size:15px}}.light-mode{--color-surface:#fff!important;--color-surface-elevated:#fafbfc!important;--color-surface-sunken:#f5f7fa!important;--color-surface-overlay:#fffffff2!important;--color-text-primary:#0f172a!important;--color-text-secondary:#475569!important;--color-text-tertiary:#64748b!important;--color-text-inverse:#fff!important;--color-text-on-primary:#000!important;--color-border:#e2e8f0!important;--color-border-strong:#cbd5e1!important;--color-primary:#ffc700!important;--color-primary-hover:gold!important;--color-primary-active:#e6b300!important;--shadow-xs:0 1px 2px 0 #0000000d!important;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a!important;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a!important;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a!important;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a!important;--shadow-2xl:0 25px 50px -12px #00000040!important;--shadow-glow:0 0 20px rgba(var(--color-primary-rgb), .3)!important}.dark-mode{--color-surface:#0f172a!important;--color-surface-elevated:#1e293b!important;--color-surface-sunken:#020617!important;--color-surface-overlay:#0f172af2!important;--color-text-primary:#fff!important;--color-text-secondary:#e2e8f0!important;--color-text-tertiary:#cbd5e1!important;--color-text-inverse:#0f172a!important;--color-text-on-primary:#000!important;--color-border:#334155!important;--color-border-strong:#475569!important;--color-primary:gold!important;--color-primary-hover:#ffe066!important;--color-primary-active:#ffc700!important;--shadow-xs:0 1px 2px 0 #0000004d!important;--shadow-sm:0 1px 3px 0 #0006, 0 1px 2px -1px #0006!important;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0006!important;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -4px #0006!important;--shadow-xl:0 20px 25px -5px #00000080, 0 8px 10px -6px #00000080!important;--shadow-2xl:0 25px 50px -12px #0009!important;--shadow-glow:0 0 30px rgba(var(--color-primary-rgb), .4)!important;--color-card-bg:#141414d9!important;--color-card-bg-subtle:#1e1e1e99!important;--color-card-bg-hover:#282828cc!important;--color-card-bg-faint:#1e1e1e66!important;--color-card-border:#ffffff1a!important;--color-card-border-hover:#fff3!important;--color-card-border-faint:#ffffff0d!important;--color-spinner-border:#ffffff1a!important;--color-page-bg:#000!important;--color-scrollbar-thumb:#fff3!important}@media (prefers-color-scheme:dark){:root:not(.light-mode):not(.dark-mode){--color-surface:#0f172a;--color-surface-elevated:#1e293b;--color-surface-sunken:#020617;--color-surface-overlay:#0f172af2;--color-text-primary:#fff;--color-text-secondary:#e2e8f0;--color-text-tertiary:#cbd5e1;--color-text-inverse:#0f172a;--color-text-on-primary:#000;--color-border:#334155;--color-border-strong:#475569;--color-primary:gold;--color-primary-hover:#ffe066;--color-primary-active:#ffc700;--shadow-xs:0 1px 2px 0 #0000004d;--shadow-sm:0 1px 3px 0 #0006, 0 1px 2px -1px #0006;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0006;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -4px #0006;--shadow-xl:0 20px 25px -5px #00000080, 0 8px 10px -6px #00000080;--shadow-2xl:0 25px 50px -12px #0009;--shadow-glow:0 0 30px rgba(var(--color-primary-rgb), .4);--color-card-bg:#141414d9;--color-card-bg-subtle:#1e1e1e99;--color-card-bg-hover:#282828cc;--color-card-bg-faint:#1e1e1e66;--color-card-border:#ffffff1a;--color-card-border-hover:#fff3;--color-card-border-faint:#ffffff0d;--color-spinner-border:#ffffff1a;--color-page-bg:#000;--color-scrollbar-thumb:#fff3}}@media (prefers-contrast:more){:root{--color-border:#64748b;--color-border-strong:#475569;--color-text-secondary:#334155}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}#root{box-sizing:border-box;background:var(--color-surface-sunken);flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{background:var(--color-surface-sunken);margin:0;padding:0;overflow-x:hidden}*,:before,:after{box-sizing:border-box}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:var(--tracking-tight);font-weight:700;line-height:var(--leading-tight);margin:0}h1{font-size:var(--text-5xl);letter-spacing:var(--tracking-tighter)}h2{font-size:var(--text-4xl);letter-spacing:var(--tracking-tighter)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{line-height:var(--leading-relaxed);color:var(--color-text-secondary);margin:0}a{color:var(--color-secondary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-secondary-hover)}a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}code,.counter{font-family:var(--font-mono);border-radius:var(--radius-sm);color:var(--color-text-primary);display:inline-flex}code{font-size:var(--text-sm);line-height:var(--leading-normal);background:var(--color-surface-elevated);border:1px solid var(--color-border);padding:.125rem .375rem;font-weight:500}pre{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-relaxed);padding:var(--space-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:var(--space-md) 0;overflow-x:auto}pre code{background:0 0;border:none;padding:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.focus-visible-only:focus:not(:focus-visible){outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}::selection{background:var(--color-primary);color:var(--color-text-on-primary)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-surface-sunken)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);border:3px solid var(--color-surface-sunken)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) var(--color-surface-sunken)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@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}@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}.error-boundary{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:flex}.error-boundary-container{text-align:center;background:#fff;border-radius:1rem;width:100%;max-width:700px;padding:3rem;box-shadow:0 20px 60px #0000004d}.error-boundary-icon{margin-bottom:1.5rem;font-size:5rem;line-height:1}.error-boundary-title{color:#1f2937;margin:0 0 1rem;font-size:2.5rem;font-weight:700}.error-boundary-message{color:#6b7280;margin:0 0 2rem;font-size:1.125rem;line-height:1.6}.error-details{text-align:left;background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin:2rem 0;overflow:hidden}.error-details-summary{color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f3f4f6;padding:1rem;font-size:1rem;font-weight:600;transition:background .2s}.error-details-summary:hover{background:#e5e7eb}.error-details-summary::-webkit-details-marker{display:none}.error-details-summary:before{content:"▶";margin-right:.5rem;transition:transform .2s;display:inline-block}.error-details[open] .error-details-summary:before{transform:rotate(90deg)}.error-details-content{max-height:400px;padding:1rem;overflow-y:auto}.error-section{margin-bottom:1.5rem}.error-section:last-child{margin-bottom:0}.error-section h3{color:#374151;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.875rem;font-weight:600}.error-text{color:#dc2626;white-space:pre-wrap;word-break:break-word;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;margin:0;padding:1rem;font-family:Courier New,Courier,monospace;font-size:.875rem;overflow-x:auto}.error-boundary-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin:2rem 0;display:flex}.error-boundary-button{cursor:pointer;border:none;border-radius:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:all .2s}.error-boundary-button.primary{color:#fff;background:#ef4444;box-shadow:0 4px 6px #ef44444d}.error-boundary-button.primary:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 6px 12px #ef444466}.error-boundary-button.primary:active{transform:translateY(0);box-shadow:0 2px 4px #ef44444d}.error-boundary-button.secondary{color:#374151;background:#f3f4f6;box-shadow:0 2px 4px #0000001a}.error-boundary-button.secondary:hover{background:#e5e7eb;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.error-boundary-button.secondary:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.error-boundary-button:focus{outline-offset:2px;outline:2px solid #ef4444}.error-boundary-help{color:#9ca3af;margin:2rem 0 0;font-size:.875rem;line-height:1.5}@media (width<=768px){.error-boundary{padding:1rem}.error-boundary-container{padding:2rem}.error-boundary-icon{font-size:4rem}.error-boundary-title{font-size:2rem}.error-boundary-message{font-size:1rem}.error-boundary-actions{flex-direction:column}.error-boundary-button{width:100%}}@media (width<=375px){.error-boundary{padding:.5rem}.error-boundary-container{padding:1.5rem}.error-boundary-icon{font-size:3rem}.error-boundary-title{font-size:1.5rem}.error-boundary-message{font-size:.875rem}.error-boundary-button{padding:.625rem 1.5rem;font-size:.875rem}.error-text{padding:.75rem;font-size:.75rem}}@media (prefers-reduced-motion:reduce){.error-boundary-button:hover,.error-boundary-button:active{transform:none}.error-details-summary:before{transition:none}}@media (prefers-contrast:high){.error-boundary{background:#000}.error-boundary-container{border:2px solid #fff}.error-details{border:2px solid #000}.error-text{border:2px solid #dc2626}}.error-details-content::-webkit-scrollbar{width:8px}.error-details-content::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.error-details-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.error-details-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.module-navigator{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;padding:0}.module-tabs{border-bottom:1px solid var(--color-border);scrollbar-width:none;gap:0;display:flex;overflow-x:auto}.module-tabs::-webkit-scrollbar{display:none}.module-tab{padding:var(--space-sm) var(--space-lg);cursor:pointer;text-align:left;transition:border-color var(--transition-fast), background var(--transition-fast);font-family:var(--font-sans);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex-direction:column;flex:none;align-items:flex-start;gap:2px;margin-bottom:-1px;display:flex}.module-tab:hover{background:var(--color-surface-sunken);border-bottom-color:var(--color-border-strong);transform:none}.module-tab.active{border-bottom-color:var(--color-primary);background:0 0}.module-tab-number{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-size:10px;font-weight:700;display:block}.module-tab.active .module-tab-number{color:var(--color-primary)}.module-tab-title{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600;line-height:var(--leading-tight);white-space:nowrap;display:block}.module-tab.active .module-tab-title{color:var(--color-text-primary);font-weight:700}.module-content{padding-top:var(--space-xl);flex-direction:row;align-items:flex-start;gap:0;display:flex}.week-tabs{gap:var(--space-3xs);width:220px;padding-right:var(--space-lg);border-right:1px solid var(--color-border);scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) transparent;flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.week-tabs::-webkit-scrollbar{width:4px}.week-tabs::-webkit-scrollbar-track{background:0 0}.week-tabs::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:2px}.week-tab{width:100%;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:background var(--transition-fast);font-family:var(--font-sans);background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;display:flex}.week-tab:hover{background:var(--color-surface-sunken);transform:none}.week-tab.active{background:#ffc7001f}.week-tab-number{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:9px;font-weight:700;display:block}.week-tab.active .week-tab-number{color:var(--color-primary)}.week-tab-title{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:600;line-height:var(--leading-snug);white-space:normal;text-align:left;display:block}.week-tab.active .week-tab-title{color:var(--color-text-primary);font-weight:700}.week-tab-meta{color:var(--color-text-tertiary);font-size:9px;font-weight:500;display:block}.week-tab.active .week-tab-meta{color:var(--color-text-tertiary)}.week-content{gap:var(--space-lg);min-width:0;padding-left:var(--space-xl);flex-direction:column;flex:1;display:flex}.week-content-header{padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border);gap:var(--space-3xs);background:0 0;border-radius:0;flex-direction:column;display:flex}.week-content-title{font-size:var(--text-2xl);color:var(--color-text-primary);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0}.week-content-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);max-width:640px;margin:0}.lectures-list{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.lecture-item{width:100%;padding:var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;align-items:flex-start;gap:var(--space-sm);text-align:left;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);font-family:var(--font-sans);border-left-width:3px;border-left-color:#0000;display:flex}.lecture-item:hover{border-color:var(--color-border-strong);border-left-color:var(--color-border-strong);box-shadow:var(--shadow-xs);background:var(--color-surface);transform:none}.lecture-item.current{border-left-color:var(--color-primary);border-color:var(--color-border);background:var(--color-surface);box-shadow:none}.lecture-item.current:hover{border-left-color:var(--color-primary)}.lecture-number{background:var(--color-surface-sunken);border-radius:var(--radius-sm);width:32px;height:32px;font-size:var(--text-sm);color:var(--color-text-tertiary);border:none;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.lecture-item.current .lecture-number{background:var(--color-primary);color:#000}.lecture-info{gap:var(--space-3xs);flex-direction:column;flex:1;min-width:0;display:flex}.lecture-title{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:600;line-height:var(--leading-tight);margin:0}.lecture-description{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-normal);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.lecture-duration{color:var(--color-text-tertiary);margin-top:var(--space-3xs);font-size:11px;font-weight:500}@media (width<=1023px){.module-tab{padding:var(--space-sm) var(--space-md)}.week-tabs{width:180px}.lectures-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (width<=767px){.module-tab{padding:var(--space-xs) var(--space-sm)}.module-tab-title{font-size:var(--text-xs)}.module-content{flex-direction:column}.week-tabs{border-right:none;border-bottom:1px solid var(--color-border);width:100%;padding-right:0;padding-bottom:var(--space-sm);flex-flow:wrap}.week-tab{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);width:auto;padding:var(--space-3xs) var(--space-sm);flex:none;align-items:center}.week-tab.active{background:var(--color-primary);border-color:var(--color-primary)}.week-tab.active .week-tab-number{color:#0000008c}.week-tab.active .week-tab-title{color:#000}.week-tab-title{white-space:nowrap}.week-content{padding-left:0;padding-top:var(--space-md)}.lectures-list{grid-template-columns:1fr}.week-content-title{font-size:var(--text-xl)}}@media (width<=479px){.module-tab{padding:var(--space-xs)}.lecture-item{padding:var(--space-sm)}.lecture-number{width:28px;height:28px;font-size:var(--text-xs)}}@media (prefers-reduced-motion:reduce){.module-tab,.week-tab,.lecture-item{transition:none}}@media (prefers-contrast:more){.module-tab.active{border-bottom-width:3px}.lecture-item{border-width:2px 2px 2px 4px}.week-tab.active{outline-offset:2px;outline:2px solid #000}}.activity-badge{border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;line-height:1;transition:all .2s;display:inline-flex;box-shadow:0 1px 3px #0000001a}.activity-badge.activity-warm-up{color:#664d00;background:linear-gradient(135deg,gold 0%,#ffc700 100%);border:2px solid #e6b300}.activity-badge.activity-warm-up:hover{background:linear-gradient(135deg,#ffe066 0%,gold 100%);box-shadow:0 4px 6px #ffc7004d}.activity-badge.activity-lecture{color:#fff;background:linear-gradient(135deg,#3385ff 0%,#06f 100%);border:2px solid #0052cc}.activity-badge.activity-lecture:hover{background:linear-gradient(135deg,#66a3ff 0%,#3385ff 100%);box-shadow:0 4px 6px #0066ff4d}.activity-badge.activity-hands-on{color:#fff;background:linear-gradient(135deg,#33d97f 0%,#0c6 100%);border:2px solid #00a352}.activity-badge.activity-hands-on:hover{background:linear-gradient(135deg,#66e699 0%,#33d97f 100%);box-shadow:0 4px 6px #00cc664d}.activity-badge.activity-exercise{color:#fff;background:linear-gradient(135deg,#b366ff 0%,#93f 100%);border:2px solid #7a29cc}.activity-badge.activity-exercise:hover{background:linear-gradient(135deg,#c266ff 0%,#b366ff 100%);box-shadow:0 4px 6px #9933ff4d}.activity-badge.activity-wrap-up{color:#fff;background:linear-gradient(135deg,#2dd4bf 0%,#0d9488 100%);border:2px solid #0f766e}.activity-badge.activity-wrap-up:hover{background:linear-gradient(135deg,#5eead4 0%,#2dd4bf 100%);box-shadow:0 4px 6px #0d94884d}.activity-badge.activity-case-study{color:#fff;background:linear-gradient(135deg,#fb923c 0%,#f97316 100%);border:2px solid #ea580c}.activity-badge.activity-case-study:hover{background:linear-gradient(135deg,#fdba74 0%,#fb923c 100%);box-shadow:0 4px 6px #f973164d}.activity-badge.size-small{gap:.375rem;padding:.25rem .75rem;font-size:.75rem}.activity-badge.size-small .activity-icon{font-size:.875rem}.activity-badge.size-medium{gap:.5rem;padding:.5rem 1rem;font-size:.875rem}.activity-badge.size-medium .activity-icon{font-size:1rem}.activity-badge.size-large{gap:.625rem;padding:.75rem 1.5rem;font-size:1rem}.activity-badge.size-large .activity-icon{font-size:1.25rem}.activity-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.activity-label{letter-spacing:.025em;white-space:nowrap;font-weight:600}@media (width<=1023px){.activity-badge.size-medium{padding:.4375rem .875rem;font-size:.8125rem}.activity-badge.size-large{padding:.625rem 1.25rem;font-size:.9375rem}}@media (width<=767px){.activity-badge.size-small{gap:.25rem;padding:.1875rem .625rem;font-size:.6875rem}.activity-badge.size-small .activity-icon{font-size:.75rem}.activity-badge.size-medium{gap:.375rem;padding:.375rem .75rem;font-size:.75rem}.activity-badge.size-medium .activity-icon{font-size:.875rem}.activity-badge.size-large{gap:.5rem;padding:.5rem 1rem;font-size:.875rem}.activity-badge.size-large .activity-icon{font-size:1rem}}@media (prefers-contrast:high){.activity-badge{border-width:3px}.activity-badge.activity-warm-up{color:#451a03}}@media (prefers-reduced-motion:reduce){.activity-badge{transition:none}.activity-badge:hover{box-shadow:0 1px 3px #0000001a}}@media (prefers-color-scheme:dark){.activity-badge{box-shadow:0 2px 4px #0000004d}.activity-badge.activity-warm-up{color:#fff5cc;background:linear-gradient(135deg,#ffc700 0%,#e6b300 100%);border-color:#e6b300}.activity-badge.activity-warm-up:hover{background:linear-gradient(135deg,gold 0%,#ffc700 100%);box-shadow:0 4px 6px #e6b30066}.activity-badge.activity-lecture{background:linear-gradient(135deg,#06f 0%,#0052cc 100%);border-color:#0052cc}.activity-badge.activity-lecture:hover{background:linear-gradient(135deg,#3385ff 0%,#06f 100%);box-shadow:0 4px 6px #0052cc66}.activity-badge.activity-hands-on{background:linear-gradient(135deg,#0c6 0%,#00a352 100%);border-color:#00a352}.activity-badge.activity-hands-on:hover{background:linear-gradient(135deg,#33d97f 0%,#0c6 100%);box-shadow:0 4px 6px #00a35266}.activity-badge.activity-exercise{background:linear-gradient(135deg,#93f 0%,#7a29cc 100%);border-color:#7a29cc}.activity-badge.activity-exercise:hover{background:linear-gradient(135deg,#b366ff 0%,#93f 100%);box-shadow:0 4px 6px #7a29cc66}.activity-badge.activity-wrap-up{background:linear-gradient(135deg,#0d9488 0%,#0f766e 100%);border-color:#0f766e}.activity-badge.activity-wrap-up:hover{background:linear-gradient(135deg,#2dd4bf 0%,#0d9488 100%);box-shadow:0 4px 6px #0f766e66}.activity-badge.activity-case-study{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);border-color:#ea580c}.activity-badge.activity-case-study:hover{background:linear-gradient(135deg,#fb923c 0%,#f97316 100%);box-shadow:0 4px 6px #ea580c66}}@media print{.activity-badge{box-shadow:none;border:2px solid #000;color:#000!important;background:0 0!important}.activity-badge:before{content:"[" attr(aria-label) "] "}.activity-icon{display:none}}.ai-mode-indicator{border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;line-height:1;transition:all .2s;display:inline-flex;box-shadow:0 1px 3px #0000001a}.ai-mode-indicator.ai-mode-no-ai{color:#fff;background:linear-gradient(135deg,#f69 0%,#f36 100%);border:2px solid #cc2952}.ai-mode-indicator.ai-mode-no-ai:hover{background:linear-gradient(135deg,#ff99b8 0%,#f69 100%);box-shadow:0 4px 6px #ff33664d}.ai-mode-indicator.ai-mode-with-ai{color:#fff;background:linear-gradient(135deg,#33d97f 0%,#0c6 100%);border:2px solid #00a352}.ai-mode-indicator.ai-mode-with-ai:hover{background:linear-gradient(135deg,#66e699 0%,#33d97f 100%);box-shadow:0 4px 6px #00cc664d}.ai-mode-indicator.prominent{border-width:3px;gap:.625rem;padding:.75rem 1.5rem;font-size:1rem;box-shadow:0 4px 6px #00000026}.ai-mode-indicator.prominent .ai-mode-icon{font-size:1.5rem}.ai-mode-indicator.prominent .ai-mode-label{letter-spacing:.05em;font-size:1rem;font-weight:700}.ai-mode-indicator.prominent.ai-mode-no-ai{border-width:3px;animation:2s ease-in-out infinite pulse-warning;box-shadow:0 4px 6px #f366}@keyframes pulse-warning{0%,to{box-shadow:0 4px 6px #f366}50%{box-shadow:0 6px 12px #f369}}.ai-mode-indicator.prominent.ai-mode-with-ai{border-width:3px;box-shadow:0 4px 6px #00cc664d}.ai-mode-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.ai-mode-label{letter-spacing:.025em;white-space:nowrap;font-weight:600}@media (width<=1023px){.ai-mode-indicator{padding:.4375rem .875rem;font-size:.8125rem}.ai-mode-indicator.prominent{padding:.625rem 1.25rem;font-size:.9375rem}.ai-mode-indicator.prominent .ai-mode-icon{font-size:1.375rem}}@media (width<=767px){.ai-mode-indicator{gap:.375rem;padding:.375rem .75rem;font-size:.75rem}.ai-mode-icon{font-size:.875rem}.ai-mode-indicator.prominent{gap:.5rem;padding:.5rem 1rem;font-size:.875rem}.ai-mode-indicator.prominent .ai-mode-icon{font-size:1.25rem}.ai-mode-indicator.prominent .ai-mode-label{font-size:.875rem}}@media (prefers-contrast:high){.ai-mode-indicator{border-width:3px}.ai-mode-indicator.prominent{border-width:4px}.ai-mode-indicator.ai-mode-no-ai{background:#f36;border-color:#cc2952}.ai-mode-indicator.ai-mode-with-ai{background:#0c6;border-color:#00a352}}@media (prefers-reduced-motion:reduce){.ai-mode-indicator{transition:none}.ai-mode-indicator:hover{box-shadow:0 1px 3px #0000001a}.ai-mode-indicator.prominent.ai-mode-no-ai{animation:none}}@media (prefers-color-scheme:dark){.ai-mode-indicator{box-shadow:0 2px 4px #0000004d}.ai-mode-indicator.ai-mode-no-ai{background:linear-gradient(135deg,#f36 0%,#cc2952 100%);border-color:#cc2952}.ai-mode-indicator.ai-mode-no-ai:hover{background:linear-gradient(135deg,#f69 0%,#f36 100%);box-shadow:0 4px 6px #cc295266}.ai-mode-indicator.ai-mode-with-ai{background:linear-gradient(135deg,#0c6 0%,#00a352 100%);border-color:#00a352}.ai-mode-indicator.ai-mode-with-ai:hover{background:linear-gradient(135deg,#33d97f 0%,#0c6 100%);box-shadow:0 4px 6px #00a35266}.ai-mode-indicator.prominent{box-shadow:0 4px 6px #0006}.ai-mode-indicator.prominent.ai-mode-no-ai{box-shadow:0 4px 6px #cc295280}@keyframes pulse-warning{0%,to{box-shadow:0 4px 6px #cc295280}50%{box-shadow:0 6px 12px #cc2952b3}}.ai-mode-indicator.prominent.ai-mode-with-ai{box-shadow:0 4px 6px #00a35266}}@media print{.ai-mode-indicator{box-shadow:none;border:2px solid #000;color:#000!important;background:0 0!important;animation:none!important}.ai-mode-indicator:before{content:"[" attr(aria-label) "] "}.ai-mode-icon{display:none}}.theory-step{width:100%;max-width:100%;font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-surface);border-radius:var(--radius-lg);padding:.75rem 1rem;line-height:1.5}.warm-up-content{flex-direction:column;gap:.75rem;display:flex}.overview-section{color:var(--color-text-primary);background-color:#fbbf241a;border-left:3px solid #f59e0b;border-radius:.375rem;padding:.75rem}.overview-section .markdown-content,.overview-section .markdown-content p,.overview-section .markdown-content li,.overview-section .markdown-content td,.overview-section .markdown-content th{color:var(--color-text-primary)}.overview-section .markdown-content strong{color:var(--color-text-primary);font-weight:600}.learning-objectives-section{color:var(--color-text-primary);background-color:#10b9811a;border-left:3px solid #10b981;border-radius:.375rem;padding:.75rem}.learning-objectives-section .markdown-content,.learning-objectives-section .markdown-content p,.learning-objectives-section .markdown-content li{color:var(--color-text-primary)}.learning-objectives-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.learning-objective-item{background-color:var(--color-surface-elevated);box-shadow:var(--shadow-sm);color:var(--color-text-primary);border-radius:.25rem;align-items:flex-start;gap:.5rem;padding:.375rem;display:flex}.objective-icon{flex-shrink:0;margin-top:.0625rem;font-size:1rem}.objective-text{color:var(--color-text-secondary);flex:1;font-size:.8125rem}.context-section{color:var(--color-text-primary);background-color:#3b82f61a;border-left:3px solid #3b82f6;border-radius:.375rem;padding:.75rem}.context-section .markdown-content,.context-section .markdown-content p,.context-section .markdown-content li{color:var(--color-text-primary)}.estimated-duration{background-color:var(--color-surface-elevated);color:var(--color-text-secondary);border-radius:.25rem;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.8125rem;display:flex}.duration-icon{font-size:.875rem}.lecture-content{flex-direction:column;gap:.75rem;display:flex}.markdown-content{color:var(--color-text-primary);font-size:.875rem;line-height:1.6}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:var(--color-text-primary);margin:.875rem 0 .5rem;font-weight:600;line-height:1.25}.markdown-content h1{border-bottom:2px solid var(--color-border);padding-bottom:.25rem;font-size:1.375rem}.markdown-content h2{border-bottom:1px solid var(--color-border);padding-bottom:.1875rem;font-size:1.125rem}.markdown-content h3{font-size:1rem}.markdown-content h4{font-size:.9375rem}.markdown-content h5,.markdown-content h6{font-size:.875rem}.markdown-content li{margin:.375rem 0}.markdown-content ul li{list-style-type:disc}.markdown-content ol li{list-style-type:decimal}.markdown-content strong{color:var(--color-text-primary);font-weight:600}.markdown-content em{color:var(--color-text-secondary);font-style:italic}.markdown-content a{color:var(--color-secondary);text-decoration:underline;transition:color .2s}.markdown-content a:hover{color:var(--color-secondary-hover)}.markdown-content blockquote{border-left:3px solid var(--color-border-strong);background-color:var(--color-surface-elevated);color:var(--color-text-secondary);margin:.75rem 0;padding:.75rem 1.125rem;font-style:italic}.markdown-content hr{border:none;border-top:1px solid var(--color-border);margin:1.5rem 0}.markdown-content .inline-code{background-color:var(--color-surface-elevated);border:1px solid var(--color-border);font-family:var(--font-mono);color:var(--color-secondary);border-radius:.25rem;padding:.125rem .375rem;font-size:.875em}.markdown-content pre{background-color:var(--color-surface-elevated);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:.375rem;margin:1rem 0;padding:.75rem;font-size:.8125rem;line-height:1.5;overflow-x:auto}.markdown-content pre code{color:var(--color-text-primary);font-family:var(--font-mono);white-space:pre;background:0 0;border:none;padding:0;display:block}.markdown-content code{font-family:var(--font-mono)}.markdown-content table{border-collapse:collapse;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.375rem;width:100%;margin:1.125rem 0;overflow:hidden}.markdown-content thead{background-color:var(--color-surface-elevated)}.markdown-content th{text-align:left;color:var(--color-text-primary);border-bottom:2px solid var(--color-border-strong);padding:.375rem .625rem;font-size:.8125rem;font-weight:600}.markdown-content td{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);padding:.375rem .625rem;font-size:.8125rem}.markdown-content tbody tr:last-child td{border-bottom:none}.markdown-content tbody tr:hover{background-color:var(--color-surface-elevated)}.markdown-content ul,.markdown-content ol,.markdown-content li{color:var(--color-text-secondary)}.markdown-content li strong{color:var(--color-text-primary)}.code-snippets-section{flex-direction:column;gap:1rem;margin:1.25rem 0;display:flex}.code-snippet{border:1px solid var(--color-border);background-color:var(--color-surface-elevated);border-radius:.375rem;overflow:hidden}.code-snippet-header{background-color:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.375rem .75rem;display:flex}.code-language{text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.05em;font-size:.6875rem;font-weight:600}.code-block{font-family:var(--font-mono);background-color:var(--color-surface-elevated);margin:0;padding:.75rem;font-size:.8125rem;line-height:1.5;overflow-x:auto}.code-block code{color:var(--color-text-primary);display:block}.code-line{padding:0 .5rem;display:block;position:relative}.code-line:before{content:attr(data-line-number);text-align:right;width:2rem;color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none;margin-right:1rem;display:inline-block}.code-line.highlighted{background-color:#3b82f61a;border-left:3px solid #3b82f6;padding-left:calc(.5rem - 3px)}.code-block .language-javascript,.code-block .language-typescript,.code-block .language-jsx,.code-block .language-tsx{color:#fbbf24}.code-block .language-html{color:#f87171}.code-block .language-css{color:#60a5fa}.code-block .language-python{color:#34d399}.code-block .language-sql{color:#a78bfa}.images-section{flex-direction:column;gap:1.25rem;margin:1.25rem 0;display:flex}.image-figure{flex-direction:column;gap:.375rem;margin:0;display:flex}.content-image{border-radius:.375rem;width:100%;height:auto;box-shadow:0 2px 4px #0000001a}.image-caption{color:var(--color-text-tertiary);text-align:center;font-size:.8125rem;font-style:italic}.videos-section{flex-direction:column;gap:1.25rem;margin:1.25rem 0;display:flex}.video-container{flex-direction:column;gap:.5rem;display:flex}.video-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.video-title{color:var(--color-text-primary);margin:0;font-size:1rem;font-weight:600}.video-duration{color:var(--color-text-tertiary);font-size:.8125rem;font-family:var(--font-mono)}.video-wrapper{background-color:#000;border-radius:.375rem;width:100%;padding-bottom:56.25%;position:relative;overflow:hidden}.content-video{border:none;width:100%;height:100%;position:absolute;top:0;left:0}@media (width<=768px){.theory-step{padding:.875rem 1rem}.markdown-content h1{font-size:1.5rem}.markdown-content h2{font-size:1.25rem}.markdown-content h3{font-size:1.0625rem}.code-block{font-size:.75rem}.code-line:before{width:1.5rem;margin-right:.625rem}}@media (width<=375px){.theory-step{padding:.75rem .875rem}.markdown-content h1{font-size:1.375rem}.markdown-content h2{font-size:1.125rem}.markdown-content h3{font-size:.9375rem}.overview-section,.learning-objectives-section,.context-section{padding:.75rem}.code-block{padding:.625rem;font-size:.6875rem}.code-line:before{width:1.125rem;margin-right:.375rem}}.markdown-content a:focus{outline-offset:2px;outline:2px solid #3b82f6}@media (prefers-contrast:high){.markdown-content{color:var(--color-text-primary)}.markdown-content a{color:var(--color-secondary);font-weight:600;text-decoration:underline}.code-block{border:2px solid var(--color-border-strong)}.overview-section,.learning-objectives-section,.context-section{border-width:3px}}@media (prefers-reduced-motion:reduce){.markdown-content a{transition:none}}.code-editor{background-color:#1e1e1e;border-radius:8px;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000026}.code-editor-container{flex:1;min-height:0;overflow:hidden}.code-editor-status{color:#ccc;background-color:#252526;border-top:1px solid #3e3e42;justify-content:space-between;align-items:center;padding:6px 12px;font-family:Menlo,Monaco,Courier New,monospace;font-size:12px;display:flex}.cursor-position{font-weight:500}.language-indicator{color:#4ec9b0;text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}@media (width<=768px){.code-editor-status{padding:4px 8px;font-size:11px}.language-indicator{font-size:10px}}.code-editor:focus-within{box-shadow:0 0 0 2px #4ec9b04d}.code-editor.read-only{opacity:.8}.code-editor.read-only .code-editor-status{background-color:#2d2d30}.execution-result{color:#d4d4d4;background-color:#1e1e1e;border-radius:4px;flex-direction:column;height:100%;display:flex;overflow:hidden}.execution-result__header{background-color:#252526;border-bottom:1px solid #3e3e42;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.execution-result__title{color:#ccc;font-size:14px;font-weight:600}.execution-result__time{color:#858585;font-size:12px}.execution-result__content{flex:1;padding:12px;overflow:auto}.execution-result__empty{color:#858585;padding:8px 0;font-style:italic}.execution-result__console{font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.5}.execution-result__console-line{white-space:pre-wrap;word-break:break-word;padding:2px 0}.execution-result__console-line--error{color:#f48771;background-color:#f487711a;border-left:3px solid #f48771;margin:2px 0;padding:4px 8px}.execution-result__console-line--warning{color:#dcdcaa;background-color:#dcdcaa1a;border-left:3px solid #dcdcaa;margin:2px 0;padding:4px 8px}.execution-result__sql{flex-direction:column;gap:16px;display:flex}.execution-result__sql-affected{color:#4ec9b0;background-color:#4ec9b01a;border-left:3px solid #4ec9b0;border-radius:4px;padding:8px 12px;font-size:14px}.execution-result__sql-table-container{overflow-x:auto}.execution-result__sql-table{border-collapse:collapse;background-color:#252526;border-radius:4px;width:100%;font-size:13px;overflow:hidden}.execution-result__sql-header{color:#4ec9b0;text-align:left;white-space:nowrap;background-color:#2d2d30;border-bottom:2px solid #3e3e42;padding:8px 12px;font-weight:600}.execution-result__sql-cell{color:#d4d4d4;border-bottom:1px solid #3e3e42;padding:8px 12px}.execution-result__sql-table tbody tr:hover{background-color:#2a2d2e}.execution-result__sql-null{color:#858585;font-style:italic}.execution-result__preview{background-color:#fff;border-radius:4px;width:100%;height:100%;min-height:400px;overflow:hidden}.execution-result__iframe{background-color:#fff;border:none;width:100%;height:100%;min-height:400px}.execution-result__errors{background-color:#f487711a;border-left:3px solid #f48771;border-radius:4px;margin-top:16px;padding:12px}.execution-result__errors-title{color:#f48771;margin-bottom:8px;font-size:14px;font-weight:600}.execution-result__error{margin-bottom:12px}.execution-result__error:last-child{margin-bottom:0}.execution-result__error-message{color:#f48771;margin-bottom:4px;font-size:13px;font-weight:500}.execution-result__error-location{color:#858585;margin-bottom:4px;font-size:12px}.execution-result__error-stack{color:#d4d4d4;white-space:pre-wrap;word-break:break-word;background-color:#1e1e1e;border-radius:4px;margin-top:8px;padding:8px;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;overflow-x:auto}@media (width<=768px){.execution-result__content{padding:8px}.execution-result__sql-table{font-size:12px}.execution-result__sql-header,.execution-result__sql-cell{padding:6px 8px}.execution-result__preview,.execution-result__iframe{min-height:300px}}.execution-result__content::-webkit-scrollbar{width:10px;height:10px}.execution-result__content::-webkit-scrollbar-track{background:#1e1e1e}.execution-result__content::-webkit-scrollbar-thumb{background:#424242;border-radius:5px}.execution-result__content::-webkit-scrollbar-thumb:hover{background:#4e4e4e}.execution-result__sql-table-container::-webkit-scrollbar{width:8px;height:8px}.execution-result__sql-table-container::-webkit-scrollbar-track{background:#252526}.execution-result__sql-table-container::-webkit-scrollbar-thumb{background:#424242;border-radius:4px}.execution-result__sql-table-container::-webkit-scrollbar-thumb:hover{background:#4e4e4e}.playground{background-color:#1e1e1e;border-radius:8px;gap:1rem;height:100%;min-height:500px;display:flex;overflow:hidden}.playground__editor-section{background-color:#252526;flex-direction:column;flex:1;min-width:0;display:flex}.playground__editor-header{background-color:#2d2d30;border-bottom:1px solid #3e3e42;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.playground__editor-title{color:#ccc;text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.playground__editor-container{flex:1;min-height:0;overflow:hidden}.playground__editor-footer{background-color:#2d2d30;border-top:1px solid #3e3e42;justify-content:flex-end;padding:.75rem 1rem;display:flex}.playground__tabs{gap:.25rem;display:flex}.playground__tab{color:#ccc;cursor:pointer;background-color:#0000;border:none;border-radius:4px;padding:.375rem .75rem;font-size:.75rem;font-weight:500;transition:background-color .2s,color .2s}.playground__tab:hover{color:#fff;background-color:#3e3e42}.playground__tab--active{color:#fff;background-color:#007acc}.playground__tab--active:hover{background-color:#005a9e}.playground__run-button{color:#fff;cursor:pointer;background-color:#0e639c;border:none;border-radius:4px;padding:.5rem 1.5rem;font-size:.875rem;font-weight:600;transition:background-color .2s}.playground__run-button:hover:not(:disabled){background-color:#17b}.playground__run-button:active:not(:disabled){background-color:#0d5a8f}.playground__run-button:disabled{color:#858585;cursor:not-allowed;background-color:#3e3e42}.playground__result-section{background-color:#1e1e1e;flex-direction:column;flex:1;min-width:0;display:flex}.playground__result-placeholder{color:#858585;text-align:center;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.playground__result-placeholder p{margin:0;font-size:.875rem}@media (width<=767px){.playground{flex-direction:column;min-height:600px}.playground__editor-section,.playground__result-section{min-height:300px}.playground__editor-header{flex-direction:column;align-items:flex-start;gap:.5rem}.playground__tabs{justify-content:flex-start;width:100%}.playground__tab{text-align:center;flex:1}}@media (width>=768px) and (width<=1023px){.playground{gap:.75rem}.playground__editor-section,.playground__result-section{min-width:300px}}@media (width>=1024px){.playground{gap:1rem}.playground__editor-section,.playground__result-section{min-width:400px}}.hands-on-step{background-color:#0000;border-radius:8px;flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.hands-on-step__header{border-bottom:2px solid var(--color-border);justify-content:flex-end;align-items:center;padding-bottom:1rem;display:flex}.hands-on-step__content{flex-direction:column;gap:1.5rem;display:flex}.section-title{color:var(--color-text-primary);margin:0 0 1rem;font-size:1.5rem;font-weight:600}.subsection-title{color:var(--color-text-primary);margin:1rem 0 .75rem;font-size:1.125rem;font-weight:600}.instructions-section{background-color:#10b9811a;border-left:4px solid #10b981;border-radius:6px;padding:1.5rem}.problem-statement-section{background-color:#8b5cf61a;border-left:4px solid #8b5cf6;border-radius:6px;padding:1.5rem}.markdown-content{color:var(--color-text-primary);line-height:1.6}.markdown-content p{color:var(--color-text-secondary);margin:.75rem 0}.markdown-content ul,.markdown-content ol{margin:.75rem 0;padding-left:1.5rem}.markdown-content li{color:var(--color-text-secondary);margin:.5rem 0}.markdown-content code{background-color:var(--color-surface-elevated);color:var(--color-secondary);border-radius:3px;padding:.125rem .375rem;font-family:Courier New,monospace;font-size:.875rem}.guidance-steps{margin-top:1rem}.guidance-steps-list{margin:.5rem 0;padding-left:1.5rem;list-style:decimal}.guidance-step-item{color:var(--color-text-secondary);margin:.75rem 0;padding-left:.5rem;line-height:1.6}.hints-section{background-color:#fbbf241a;border:1px solid #fbbf244d;border-radius:6px;margin-top:1rem;padding:1rem}.hints-summary{color:#fbbf24;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;list-style:none}.hints-summary::-webkit-details-marker{display:none}.hints-list{margin:.75rem 0 0;padding-left:1.5rem;list-style:outside}.hint-item{color:var(--color-text-secondary);margin:.5rem 0;line-height:1.6}.requirements{margin-top:1rem}.requirements-list{margin:.5rem 0;padding-left:1.5rem;list-style:outside}.requirement-item{color:var(--color-text-secondary);margin:.75rem 0;padding-left:.5rem;line-height:1.6}.acceptance-criteria{margin-top:1rem}.acceptance-criteria-list{margin:.5rem 0;padding-left:0;list-style:none}.acceptance-criterion-item{background-color:#10b9811a;border-left:3px solid #10b981;border-radius:4px;align-items:flex-start;gap:.5rem;margin:.75rem 0;padding:.75rem;display:flex}.criterion-icon{color:#10b981;flex-shrink:0;font-size:1.125rem}.criterion-text{color:var(--color-text-secondary);flex:1;line-height:1.6}.team-lead-note{background-color:#3b82f61a;border:1px solid #3b82f64d;border-radius:6px;margin-top:1rem;padding:1rem}.team-lead-note-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.team-lead-icon{font-size:1.25rem}.team-lead-title{color:#60a5fa;font-weight:600}.team-lead-text{color:var(--color-text-secondary);margin:0;line-height:1.6}.test-cases-section{background-color:#8b5cf61a;border:1px solid #8b5cf64d;border-radius:6px;margin-top:1rem;padding:1rem}.test-cases-summary{color:#a78bfa;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;list-style:none}.test-cases-summary::-webkit-details-marker{display:none}.test-cases-list{margin-top:.75rem}.test-case-item{background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;margin:1rem 0;padding:1rem}.test-case-description{color:var(--color-text-primary);margin-bottom:.5rem;font-weight:500}.test-case-details{flex-direction:column;gap:.5rem;display:flex}.test-case-input,.test-case-output{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}.test-case-input code,.test-case-output code{background-color:var(--color-surface-sunken);color:var(--color-secondary);border-radius:3px;padding:.25rem .5rem;font-family:Courier New,monospace}.expected-output-section{background-color:var(--color-surface-elevated);border-radius:6px;margin-top:1rem;padding:1rem}.expected-output{background-color:var(--color-surface-sunken);color:var(--color-text-primary);border-radius:4px;margin:.5rem 0 0;padding:1rem;font-family:Courier New,monospace;font-size:.875rem;line-height:1.5;overflow-x:auto}.expected-output code{color:inherit;background-color:#0000}.starter-code-section{background-color:#3b82f612;border:1px solid #3b82f640;border-radius:6px;margin-top:1rem;padding:1.25rem}.starter-code-file{margin-top:1rem}.starter-code-file:first-child{margin-top:0}.starter-code-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.starter-code-header .subsection-title{margin:0}.starter-code-filename{color:var(--color-text-secondary);letter-spacing:.05em;background-color:var(--color-surface-elevated);border-radius:3px;padding:.125rem .5rem;font-size:.75rem;font-weight:700}.starter-code-copy-btn{color:#60a5fa;cursor:pointer;background-color:#0000;border:1px solid #3b82f680;border-radius:4px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;transition:background-color .15s,color .15s}.starter-code-copy-btn:hover{background-color:#3b82f626}.starter-code-block{background-color:var(--color-surface-sunken);color:var(--color-text-primary);white-space:pre;border-radius:4px;margin:0;padding:1rem;font-family:Courier New,monospace;font-size:.875rem;line-height:1.6;overflow-x:auto}.starter-code-block code{font-size:inherit;color:inherit;background-color:#0000;padding:0}.hands-on-step__playground{margin-top:1rem}@media (width<=768px){.hands-on-step{gap:1rem;padding:1rem}.section-title{font-size:1.25rem}.subsection-title{font-size:1rem}.instructions-section,.problem-statement-section{padding:1rem}.acceptance-criterion-item{padding:.5rem}.test-case-item{padding:.75rem}}@media (width<=375px){.hands-on-step{padding:.75rem}.section-title{font-size:1.125rem}.subsection-title{font-size:.9375rem}}.summary-step{flex-direction:column;gap:2rem;max-width:800px;margin:0 auto;padding:1.5rem;display:flex}.summary-content{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.summary-content .markdown-content{line-height:1.8}.summary-content .markdown-content h1{color:#fff;margin-bottom:1rem;font-size:2rem;font-weight:700}.summary-content .markdown-content h2{color:#fff;margin-top:1.5rem;margin-bottom:.75rem;font-size:1.5rem;font-weight:600}.summary-content .markdown-content p{color:#fffffff2;margin-bottom:1rem}.summary-content .markdown-content ul{margin-bottom:1rem;padding-left:0;list-style:none}.summary-content .markdown-content li{color:#fffffff2;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.summary-content .markdown-content li:before{content:"•";color:#ffffffb3;font-weight:700;position:absolute;left:0}.summary-content .markdown-content strong{color:#fff;font-weight:600}.summary-content .markdown-content code{background:#fff3;border-radius:4px;padding:.2rem .4rem;font-family:Courier New,monospace;font-size:.9em}.key-points-section{background:#667eea1a;border-left:4px solid #667eea;border-radius:12px;padding:2rem}.review-questions-section{background:#ed89361a;border-left:4px solid #ed8936;border-radius:12px;padding:2rem}.review-questions-list{counter-reset:question-counter;flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.review-question-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);counter-increment:question-counter;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.review-question-item:before{content:counter(question-counter) ".";color:#fff;background:#ed8936;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.875rem;font-weight:700;display:flex}.review-question-item .question-text{color:var(--color-text-primary);flex:1;font-size:1rem;line-height:1.6}.practice-exercises-section{background:#48bb781a;border-left:4px solid #48bb78;border-radius:12px;padding:2rem}.practice-exercises-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.practice-exercise-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.practice-exercise-item:before{content:"📝";flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.25rem;display:flex}.practice-exercise-item .exercise-text{color:var(--color-text-primary);flex:1;font-size:1rem;line-height:1.6}.challenge-problems-section{background:#9f7aea1a;border-left:4px solid #9f7aea;border-radius:12px;padding:2rem}.challenge-problems-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.challenge-problem-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.challenge-problem-item:before{content:"🚀";flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.25rem;display:flex}.challenge-problem-item .problem-text{color:var(--color-text-primary);flex:1;font-size:1rem;line-height:1.6}.exploration-questions-section{background:#4299e11a;border-left:4px solid #4299e1;border-radius:12px;padding:2rem}.exploration-questions-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.exploration-question-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.exploration-question-item:before{content:"🔍";flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.25rem;display:flex}.exploration-question-item .question-text{color:var(--color-text-primary);flex:1;font-size:1rem;line-height:1.6}.step-references-section{background:#f565651a;border-left:4px solid #f56565;border-radius:12px;padding:2rem}.step-references-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.step-reference-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem;transition:transform .2s,box-shadow .2s;display:flex}.step-reference-item:hover{background:var(--color-surface);transform:translate(4px)}.step-reference-icon{color:#fff;background:#f56565;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.875rem;font-weight:700;display:flex}.step-reference-text{color:var(--color-text-primary);flex:1;font-size:1rem;line-height:1.6}.section-title{color:var(--color-text-primary);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600;display:flex}.key-points-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.key-point-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem;transition:transform .2s,box-shadow .2s;display:flex}.key-point-item:hover{background:var(--color-surface);transform:translate(4px)}.key-point-icon{color:#fff;background:#48bb78;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.875rem;font-weight:700;display:flex}.key-point-text{color:var(--color-text-primary);flex:1;font-size:1rem;line-height:1.6}.next-topic-preview{color:#fff;text-align:center;background:linear-gradient(135deg,#4299e1 0%,#3182ce 100%);border-radius:12px;margin-top:1rem;padding:1.5rem 2rem;box-shadow:0 4px 6px #0000001a}.next-topic-label{text-transform:uppercase;letter-spacing:.05em;color:#ffffffe6;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.next-topic-title{color:#fff;font-size:1.5rem;font-weight:700}@media (width<=768px){.summary-step{gap:1.5rem;padding:1rem}.summary-content{padding:1.5rem}.summary-content .markdown-content h1{font-size:1.75rem}.summary-content .markdown-content h2{font-size:1.25rem}.key-points-section,.review-questions-section,.practice-exercises-section,.challenge-problems-section,.exploration-questions-section,.step-references-section{padding:1.5rem}.section-title{font-size:1.25rem}.key-point-text{font-size:.9375rem}.next-topic-title{font-size:1.25rem}}@media (width<=375px){.summary-step{gap:1rem;padding:.75rem}.summary-content{padding:1rem}.summary-content .markdown-content h1{font-size:1.5rem}.summary-content .markdown-content h2{font-size:1.125rem}.key-points-section,.review-questions-section,.practice-exercises-section,.challenge-problems-section,.exploration-questions-section,.step-references-section{padding:1rem}.step-reference-item{gap:.5rem;padding:.5rem}.step-reference-icon{width:20px;height:20px;font-size:.75rem}.step-reference-text{font-size:.875rem}.section-title{font-size:1.125rem}.key-point-item{gap:.5rem;padding:.5rem}.key-point-icon{width:20px;height:20px;font-size:.75rem}.key-point-text{font-size:.875rem}.next-topic-preview{padding:1rem 1.5rem}.next-topic-label{font-size:.75rem}.next-topic-title{font-size:1.125rem}}@media (prefers-reduced-motion:reduce){.key-point-item,.step-reference-item{transition:none}.key-point-item:hover,.step-reference-item:hover{transform:none}}@media print{.summary-step{max-width:100%}.summary-content,.key-points-section,.review-questions-section,.practice-exercises-section,.challenge-problems-section,.exploration-questions-section,.step-references-section,.next-topic-preview{box-shadow:none;page-break-inside:avoid}.key-point-item:hover,.step-reference-item:hover{transform:none;box-shadow:0 1px 3px #0000001a}}.animated-lecture{flex-direction:column;gap:1.5rem;width:100%;max-width:900px;margin:0 auto;padding:1rem;display:flex}.animation-viewer{background:#f8f9fa;border-radius:8px;width:100%;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.animation-svg-container{aspect-ratio:4/3;background:#fff;justify-content:center;align-items:center;width:100%;display:flex}.animation-svg{width:100%;max-width:800px;height:100%;max-height:600px}.animation-canvas{background:#fff;width:100%;max-width:800px;height:auto;display:block}.animation-progress{background:#0000001a;height:4px;position:absolute;bottom:0;left:0;right:0}.animation-progress-bar{background:linear-gradient(90deg,#3b82f6,#2563eb);height:100%;transition:width .1s linear}.animation-text{background:#fff;border-left:4px solid #3b82f6;border-radius:8px;align-items:center;min-height:80px;padding:1.5rem;display:flex;box-shadow:0 1px 3px #0000001a}.animation-text p{color:#1f2937;margin:0;font-size:1.125rem;line-height:1.6}.animation-controls{background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:1rem;padding:1rem;display:flex;box-shadow:0 1px 3px #0000001a}.control-button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000001a}.control-button:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.control-button:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.control-button:focus{outline-offset:2px;outline:2px solid #3b82f6}.control-icon{font-size:1.25rem;line-height:1}.control-label{font-size:1rem}.control-play{background:#10b981}.control-play:hover{background:#059669}.control-pause{background:#f59e0b}.control-pause:hover{background:#d97706}.control-replay{background:#8b5cf6}.control-replay:hover{background:#7c3aed}.frame-counter{color:#6b7280;background:#f3f4f6;border-radius:6px;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:flex}.frame-current{color:#1f2937;font-weight:600}.frame-separator{color:#9ca3af}.frame-total{color:#6b7280}@media (width<=768px){.animated-lecture{gap:1rem;padding:.75rem}.animation-text{min-height:60px;padding:1rem}.animation-text p{font-size:1rem}.animation-controls{flex-wrap:wrap;gap:.75rem;padding:.75rem}.control-button{padding:.625rem 1.25rem;font-size:.875rem}.control-icon{font-size:1.125rem}.control-label{font-size:.875rem}}@media (width<=375px){.animated-lecture{gap:.75rem;padding:.5rem}.animation-text{min-height:50px;padding:.75rem}.animation-text p{font-size:.9375rem}.control-button{padding:.5rem 1rem;font-size:.8125rem}.control-icon{font-size:1rem}.control-label{display:none}.frame-counter{padding:.375rem .75rem;font-size:.8125rem}}@media (prefers-reduced-motion:reduce){.animation-progress-bar{transition:none}.animation-text{animation:none}.control-button{transition:none}}@media (prefers-contrast:high){.animation-viewer,.control-button{border:2px solid}.animation-text{border-left-width:6px}}.quiz-container{max-width:800px;margin:0 auto;padding:2rem}.quiz-progress{margin-bottom:2rem}.quiz-progress-bar{background:var(--color-surface-elevated);border-radius:4px;width:100%;height:8px;margin-bottom:.5rem;overflow:hidden}.quiz-progress-fill{background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);height:100%;transition:width .3s}.quiz-progress-text{text-align:center;color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.quiz-question-container{background:var(--color-surface);border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.quiz-question{color:var(--color-text-primary);margin-bottom:1.5rem;font-size:1.25rem;font-weight:600;line-height:1.6}.quiz-options{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.quiz-option{background:var(--color-surface-elevated);border:2px solid var(--color-border);cursor:pointer;text-align:left;width:100%;color:var(--color-text-primary);border-radius:8px;align-items:center;gap:1rem;padding:1rem;font-size:1rem;transition:all .2s;display:flex}.quiz-option:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border-strong);transform:translate(4px)}.quiz-option:disabled{cursor:not-allowed;opacity:.8}.quiz-option.selected{background:#ebf4ff;border-color:#4299e1}.quiz-option.correct{background:#f0fff4;border-color:#48bb78}.quiz-option.incorrect{background:#fff5f5;border-color:#f56565}.quiz-option-letter{background:var(--color-surface);border:2px solid var(--color-border);width:32px;height:32px;color:var(--color-text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:flex}.quiz-option.selected .quiz-option-letter{color:#fff;background:#4299e1;border-color:#4299e1}.quiz-option.correct .quiz-option-letter{color:#fff;background:#48bb78;border-color:#48bb78}.quiz-option.incorrect .quiz-option-letter{color:#fff;background:#f56565;border-color:#f56565}.quiz-option-text{color:var(--color-text-primary);flex:1;line-height:1.5}.quiz-option-icon{flex-shrink:0;font-size:1.25rem}.quiz-explanation{background:#fffaf0;border-left:4px solid #ed8936;border-radius:4px;margin-top:1.5rem;margin-bottom:1.5rem;padding:1rem}.quiz-explanation-header{color:#744210;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;display:flex}.quiz-explanation-icon{font-size:1.25rem}.quiz-explanation p{color:#744210;margin:0;line-height:1.6}.quiz-actions{justify-content:space-between;gap:1rem;margin-top:2rem;display:flex}.quiz-button{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.quiz-button:disabled{opacity:.5;cursor:not-allowed}.quiz-button-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.quiz-button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.quiz-button-secondary{background:var(--color-surface-elevated);color:var(--color-text-primary)}.quiz-button-secondary:hover:not(:disabled){background:var(--color-surface)}.quiz-results{background:var(--color-surface);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.quiz-results-header{text-align:center;padding:3rem 2rem}.quiz-results-header.passed{color:#fff;background:linear-gradient(135deg,#48bb78 0%,#38a169 100%)}.quiz-results-header.failed{color:#fff;background:linear-gradient(135deg,#ed8936 0%,#dd6b20 100%)}.quiz-results-icon{margin-bottom:1rem;font-size:4rem}.quiz-results-title{margin:0 0 1rem;font-size:2rem;font-weight:700}.quiz-results-score{flex-direction:column;align-items:center;gap:.5rem;display:flex}.score-detail{opacity:.9;font-size:1rem}.quiz-results-body{padding:2rem}.quiz-results-body h4{color:var(--color-text-primary);margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.quiz-review-list{flex-direction:column;gap:1.5rem;display:flex}.quiz-review-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem}.quiz-review-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.quiz-review-status{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;font-weight:700;display:flex}.quiz-review-status.correct{color:#fff;background:#48bb78}.quiz-review-status.incorrect{color:#fff;background:#f56565}.quiz-review-number{color:var(--color-text-secondary);font-weight:600}.quiz-review-question{color:var(--color-text-primary);margin:0 0 1rem;font-weight:600;line-height:1.6}.quiz-review-answers{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.quiz-review-answer{color:var(--color-text-secondary);margin:.5rem 0;font-size:.9375rem;line-height:1.5}.quiz-review-answer.correct{color:#2f855a;font-weight:500}.quiz-review-explanation{color:var(--color-text-secondary);border-top:1px solid var(--color-border);margin:0;padding-top:1rem;font-size:.9375rem;line-height:1.6}.quiz-results-actions{border-top:1px solid var(--color-border);justify-content:center;padding:2rem;display:flex}.dark-mode .quiz-option.selected{background:#1e3a5f;border-color:#4299e1}.dark-mode .quiz-option.correct{background:#064e3b;border-color:#48bb78}.dark-mode .quiz-option.incorrect{background:#7f1d1d;border-color:#f56565}.dark-mode .quiz-explanation{background:#78350f40;border-left-color:#ed8936}.dark-mode .quiz-explanation-header,.dark-mode .quiz-explanation p{color:#fde68a}@media (prefers-color-scheme:dark){:root:not(.light-mode) .quiz-option.selected{background:#1e3a5f;border-color:#4299e1}:root:not(.light-mode) .quiz-option.correct{background:#064e3b;border-color:#48bb78}:root:not(.light-mode) .quiz-option.incorrect{background:#7f1d1d;border-color:#f56565}:root:not(.light-mode) .quiz-explanation{background:#78350f40;border-left-color:#ed8936}:root:not(.light-mode) .quiz-explanation-header,:root:not(.light-mode) .quiz-explanation p{color:#fde68a}}@media (width<=768px){.quiz-container{padding:1rem}.quiz-question-container{padding:1.5rem}.quiz-question{font-size:1.1rem}.quiz-option{padding:.875rem 1rem}.quiz-results-header{padding:2rem 1rem}.quiz-results-title{font-size:1.5rem}.score-value{font-size:2.5rem}.quiz-actions{flex-direction:column}.quiz-button{justify-content:center;width:100%}}.code-snippet{background:#f6f8fa;border:1px solid #e1e4e8;border-radius:8px;margin:1rem 0;overflow:hidden}.code-snippet-label{color:#57606a;background:#eaecef;border-bottom:1px solid #e1e4e8;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.code-snippet-container{overflow-x:auto}.code-snippet-pre{color:#24292e;background:#f6f8fa;margin:0;padding:1rem;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.6}.code-snippet-code{display:block}.code-line{min-height:1.6em;display:flex}.code-line.highlighted{background:#ffc70026;border-left:3px solid #ffc700;margin-left:-.5rem;padding-left:.5rem}.line-number{text-align:right;color:#6a737d;-webkit-user-select:none;user-select:none;flex-shrink:0;width:3em;padding-right:1em;display:inline-block}.line-content{white-space:pre;flex:1}.language-pseudocode .line-content,.language-python .line-content,.language-javascript .line-content{color:#24292e}.dark-mode .code-snippet{background:#1e1e1e;border-color:#333}.dark-mode .code-snippet-label{color:#888;background:#2d2d2d;border-bottom-color:#333}.dark-mode .code-snippet-pre{color:#d4d4d4;background:#1e1e1e}.dark-mode .line-number{color:#858585}.dark-mode .code-line.highlighted{background:#ffff001a;border-left-color:gold}.dark-mode .language-pseudocode .line-content,.dark-mode .language-python .line-content,.dark-mode .language-javascript .line-content{color:#d4d4d4}@media (prefers-color-scheme:dark){:root:not(.light-mode) .code-snippet{background:#1e1e1e;border-color:#333}:root:not(.light-mode) .code-snippet-label{color:#888;background:#2d2d2d;border-bottom-color:#333}:root:not(.light-mode) .code-snippet-pre{color:#d4d4d4;background:#1e1e1e}:root:not(.light-mode) .line-number{color:#858585}:root:not(.light-mode) .code-line.highlighted{background:#ffff001a;border-left-color:gold}:root:not(.light-mode) .language-pseudocode .line-content,:root:not(.light-mode) .language-python .line-content,:root:not(.light-mode) .language-javascript .line-content{color:#d4d4d4}}@media (width<=768px){.code-snippet-pre{padding:.75rem;font-size:.8rem}.line-number{width:2.5em;padding-right:.5em}}.code-quiz-container{max-width:900px;margin:0 auto;padding:2rem}.code-quiz-header{text-align:center;margin-bottom:2rem}.code-quiz-badge{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;margin-bottom:1rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:inline-block}.code-quiz-title{color:var(--color-text-primary);margin:.5rem 0;font-size:1.75rem;font-weight:700}.code-quiz-description{color:var(--color-text-secondary);margin-top:.5rem;font-size:1rem}.code-quiz-progress{margin-bottom:2rem}.code-quiz-progress-bar{background:var(--color-surface-elevated);border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden}.code-quiz-progress-fill{background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);height:100%;transition:width .3s}.code-quiz-progress-text{text-align:center;color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.code-quiz-question-container{background:var(--color-surface);border-radius:12px;padding:2rem;box-shadow:0 4px 6px #0000001a}.code-quiz-question-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.code-quiz-question{color:var(--color-text-primary);flex:1;margin:0;font-size:1.25rem;font-weight:600}.code-quiz-question-type{background:var(--color-surface-elevated);color:var(--color-text-secondary);white-space:nowrap;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.code-quiz-code-section{margin:1.5rem 0}.code-quiz-options{flex-direction:column;gap:.75rem;margin:1.5rem 0;display:flex}.code-quiz-option{background:var(--color-surface-elevated);border:2px solid var(--color-border);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:1rem;padding:1rem;font-size:1rem;transition:all .2s;display:flex}.code-quiz-option:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border-strong);transform:translate(4px)}.code-quiz-option.selected{background:#ebf4ff;border-color:#4299e1}.code-quiz-option.correct{background:#f0fff4;border-color:#48bb78}.code-quiz-option.incorrect{background:#fff5f5;border-color:#f56565}.code-quiz-option:disabled{cursor:not-allowed}.code-quiz-option-letter{background:var(--color-surface);border:2px solid var(--color-border);width:32px;height:32px;color:var(--color-text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.code-quiz-option.selected .code-quiz-option-letter{color:#fff;background:#4299e1;border-color:#4299e1}.code-quiz-option.correct .code-quiz-option-letter{color:#fff;background:#48bb78;border-color:#48bb78}.code-quiz-option.incorrect .code-quiz-option-letter{color:#fff;background:#f56565;border-color:#f56565}.code-quiz-option-text{color:var(--color-text-primary);flex:1}.code-quiz-option-icon{flex-shrink:0;font-size:1.25rem}.code-quiz-explanation{background:#fffaf0;border-left:4px solid #ed8936;border-radius:4px;margin-top:1.5rem;padding:1rem}.code-quiz-explanation-header{color:#744210;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;display:flex}.code-quiz-explanation-icon{font-size:1.25rem}.code-quiz-explanation p{color:#744210;margin:0;line-height:1.6}.code-quiz-hint{margin-top:1rem}.code-quiz-hint details{background:var(--color-surface-elevated);cursor:pointer;border-radius:8px;padding:1rem}.code-quiz-hint summary{color:var(--color-text-secondary);align-items:center;gap:.5rem;font-weight:600;list-style:none;display:flex}.code-quiz-hint summary::-webkit-details-marker{display:none}.code-quiz-hint p{color:var(--color-text-tertiary);margin-top:.75rem;margin-bottom:0;line-height:1.6}.code-quiz-actions{justify-content:space-between;gap:1rem;margin-top:2rem;display:flex}.code-quiz-button{cursor:pointer;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s}.code-quiz-button-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.code-quiz-button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.code-quiz-button-primary:disabled{opacity:.5;cursor:not-allowed}.code-quiz-button-secondary{background:var(--color-surface-elevated);color:var(--color-text-primary)}.code-quiz-button-secondary:hover:not(:disabled){background:var(--color-surface)}.code-quiz-button-secondary:disabled{opacity:.5;cursor:not-allowed}.code-quiz-results{background:var(--color-surface);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.code-quiz-results-header{text-align:center;padding:3rem 2rem}.code-quiz-results-header.passed{color:#fff;background:linear-gradient(135deg,#48bb78 0%,#38a169 100%)}.code-quiz-results-header.failed{color:#fff;background:linear-gradient(135deg,#ed8936 0%,#dd6b20 100%)}.code-quiz-results-icon{margin-bottom:1rem;font-size:4rem}.code-quiz-results-title{margin:0 0 1rem;font-size:2rem;font-weight:700}.code-quiz-results-score{flex-direction:column;align-items:center;gap:.5rem;display:flex}.score-value{font-size:3rem;font-weight:700}.score-detail,.score-passing{opacity:.9;font-size:1rem}.code-quiz-results-body{padding:2rem}.code-quiz-results-body h4{color:var(--color-text-primary);margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.code-quiz-review-list{flex-direction:column;gap:1.5rem;display:flex}.code-quiz-review-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem}.code-quiz-review-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.code-quiz-review-status{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;font-weight:700;display:flex}.code-quiz-review-status.correct{color:#fff;background:#48bb78}.code-quiz-review-status.incorrect{color:#fff;background:#f56565}.code-quiz-review-number{color:var(--color-text-secondary);font-weight:600}.code-quiz-review-type{background:var(--color-surface);color:var(--color-text-tertiary);border-radius:12px;margin-left:auto;padding:.25rem .75rem;font-size:.75rem}.code-quiz-review-question{color:var(--color-text-primary);margin:0 0 1rem;font-weight:600}.code-quiz-review-code,.code-quiz-review-answers{margin:1rem 0}.code-quiz-review-answer{color:var(--color-text-secondary);margin:.5rem 0}.code-quiz-review-answer.correct{color:#2f855a;font-weight:500}.code-quiz-review-explanation{background:var(--color-surface);border-left:4px solid #ed8936;border-radius:4px;margin-top:1rem;padding:1rem}.code-quiz-review-explanation strong{color:#744210;margin-bottom:.5rem;display:block}.code-quiz-review-explanation p{color:#744210;margin:0;line-height:1.6}.code-quiz-results-actions{text-align:center;border-top:1px solid var(--color-border);padding:2rem}.dark-mode .code-quiz-option.selected{background:#1e3a5f;border-color:#4299e1}.dark-mode .code-quiz-option.correct{background:#064e3b;border-color:#48bb78}.dark-mode .code-quiz-option.incorrect{background:#7f1d1d;border-color:#f56565}.dark-mode .code-quiz-explanation{background:#78350f40;border-left-color:#ed8936}.dark-mode .code-quiz-explanation-header,.dark-mode .code-quiz-explanation p{color:#fde68a}.dark-mode .code-quiz-review-explanation{background:#78350f40;border-left-color:#ed8936}.dark-mode .code-quiz-review-explanation strong,.dark-mode .code-quiz-review-explanation p{color:#fde68a}@media (prefers-color-scheme:dark){:root:not(.light-mode) .code-quiz-option.selected{background:#1e3a5f;border-color:#4299e1}:root:not(.light-mode) .code-quiz-option.correct{background:#064e3b;border-color:#48bb78}:root:not(.light-mode) .code-quiz-option.incorrect{background:#7f1d1d;border-color:#f56565}:root:not(.light-mode) .code-quiz-explanation{background:#78350f40;border-left-color:#ed8936}:root:not(.light-mode) .code-quiz-explanation-header,:root:not(.light-mode) .code-quiz-explanation p{color:#fde68a}:root:not(.light-mode) .code-quiz-review-explanation{background:#78350f40;border-left-color:#ed8936}:root:not(.light-mode) .code-quiz-review-explanation strong,:root:not(.light-mode) .code-quiz-review-explanation p{color:#fde68a}}@media (width<=768px){.code-quiz-container{padding:1rem}.code-quiz-question-container{padding:1.5rem}.code-quiz-question-header{flex-direction:column}.code-quiz-question{font-size:1.1rem}.code-quiz-actions{flex-direction:column}.code-quiz-button{width:100%}.score-value{font-size:2.5rem}}.step-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000014}.step-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:.625rem 1.25rem}.step-info{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.375rem;display:flex}.step-theme-toggle{margin-left:auto}.step-counter{background:var(--color-surface-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:.375rem;align-items:baseline;gap:.1875rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.step-current{color:var(--color-text-primary);font-size:.9375rem;font-weight:700}.step-separator{color:var(--color-text-tertiary);margin:0 .0625rem;font-size:.875rem}.step-total{color:var(--color-text-secondary);font-size:.875rem;font-weight:600}.step-title{color:var(--color-text-primary);letter-spacing:-.01em;margin:0;font-size:1.0625rem;font-weight:600;line-height:1.3}.step-content{background:var(--color-surface);flex:1;padding:.875rem 1.25rem;font-size:.875rem;overflow-y:auto}.step-placeholder{background:var(--color-surface-elevated);border:2px dashed var(--color-border);text-align:center;color:var(--color-text-secondary);border-radius:.5rem;padding:2rem}.step-placeholder p{margin:.5rem 0}.step-navigation{border-top:1px solid var(--color-border);background:var(--color-surface);justify-content:flex-start;align-items:center;gap:.75rem;padding:.625rem 1.25rem;display:flex}.nav-buttons-group{align-items:center;gap:.5rem;display:flex}.nav-button{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:.375rem;align-items:center;gap:.375rem;padding:.375rem .875rem;font-size:.8125rem;font-weight:600;transition:all .2s;display:inline-flex}.nav-button:focus{outline:none;box-shadow:0 0 0 3px #ffc7004d}.nav-previous{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border)}.nav-previous:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-border-strong);box-shadow:0 2px 6px #0000001a}.nav-previous:active:not(:disabled){background:var(--color-surface-sunken);transform:translateY(1px)}.nav-previous:disabled{opacity:.4;cursor:not-allowed;background:var(--color-surface-elevated);color:var(--color-text-tertiary);border-color:var(--color-border)}.nav-next{color:#000;background:#ffc700;border-color:#ffc700;box-shadow:0 2px 4px #ffc70033}.nav-next:hover:not(:disabled){background:gold;border-color:gold;transform:translateY(-1px);box-shadow:0 4px 8px #ffc7004d}.nav-next:active:not(:disabled){background:#e6b300;border-color:#e6b300;transform:translateY(0)}.nav-next:disabled{opacity:.4;cursor:not-allowed;background:var(--color-surface-elevated);border-color:var(--color-border);color:var(--color-text-tertiary);box-shadow:none}.nav-next-topic{color:#fff;background:#10b981;border-color:#10b981;font-weight:700;box-shadow:0 2px 4px #10b98133}.nav-next-topic:hover{background:#34d399;border-color:#34d399;transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.nav-next-topic:active{background:#059669;border-color:#059669;transform:translateY(0)}.nav-icon{font-size:1rem;line-height:1}.nav-label{font-weight:600}@media (width<=1023px){.step-header{padding:.75rem 1.25rem}.step-info{gap:.5rem}.step-counter{padding:.3125rem .75rem;font-size:.75rem}.step-current{font-size:1rem}.step-title{font-size:1.125rem}.step-content{padding:1rem 1.25rem}.step-navigation{padding:.75rem 1.25rem}.nav-button{padding:.4375rem .875rem;font-size:.8125rem}}@media (width<=767px){.step-container{border-radius:.375rem;box-shadow:0 1px 3px #00000014}.step-header{padding:.625rem 1rem}.step-info{gap:.5rem}.step-counter{border-width:1px;padding:.25rem .625rem;font-size:.6875rem}.step-current{font-size:.9375rem}.step-separator,.step-total{font-size:.75rem}.step-title{font-size:1rem}.step-content{padding:.875rem 1rem}.step-navigation{gap:.625rem;padding:.625rem 1rem}.nav-button{gap:.375rem;padding:.4375rem .875rem;font-size:.8125rem}.nav-icon{font-size:.875rem}@media (width<=374px){.step-navigation{flex-direction:column;gap:.5rem}.nav-button{justify-content:center;width:100%}}}@media (prefers-contrast:high){.step-container{border:2px solid #000}.step-header,.step-navigation{border-color:#000}.step-counter,.nav-button{border-width:3px}.nav-previous,.nav-next,.nav-next-topic{border-color:#000}}@media (prefers-reduced-motion:reduce){.nav-button{transition:none}.nav-button:hover:not(:disabled),.nav-button:active:not(:disabled){transform:none}}@media print{.step-container{box-shadow:none;border:1px solid #000}.step-header,.step-navigation{background:0 0;border-color:#000}.step-navigation{display:none}.step-content{padding:1rem}.step-theme-toggle{display:none}}.logout-button{align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);color:#ef4444;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ef44441a;border:1px solid #ef444433;height:32px;display:inline-flex}.logout-button:hover{background:#ef444426;border-color:#ef444466;transform:translateY(-1px);box-shadow:0 4px 12px #ef444433}.logout-button:active{background:#ef444433;transform:translateY(0)}.logout-button:focus-visible{outline-offset:2px;outline:2px solid #ef444480}.logout-button svg{flex-shrink:0;width:14px;height:14px}@media (width<=640px){.logout-button span{display:none}.logout-button{padding:var(--space-2xs);justify-content:center;width:32px}}@media (prefers-reduced-motion:reduce){.logout-button:hover{transform:none}}.logout-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.logout-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:90%;max-width:400px;animation:.3s ease-out slideUp;box-shadow:0 20px 60px #0000004d}.logout-modal-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.logout-modal-header h3{font-size:var(--text-lg);color:var(--color-text);font-weight:600;font-family:var(--font-sans);margin:0}.logout-modal-body{padding:var(--space-lg)}.logout-modal-body p{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.6;font-family:var(--font-sans);margin:0}.logout-modal-footer{padding:var(--space-lg);border-top:1px solid var(--color-border);gap:var(--space-sm);justify-content:flex-end;display:flex}.logout-modal-button{padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);border:1px solid #0000}.logout-modal-button-cancel{background:var(--color-surface-elevated);color:var(--color-text);border-color:var(--color-border)}.logout-modal-button-cancel:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.logout-modal-button-confirm{color:#fff;background:#ef4444;border-color:#ef4444}.logout-modal-button-confirm:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 4px 12px #ef44444d}.logout-modal-button:active{transform:scale(.98)}.logout-modal-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=640px){.logout-modal{max-width:90%}.logout-modal-header,.logout-modal-body,.logout-modal-footer{padding:var(--space-md)}.logout-modal-footer{flex-direction:column-reverse}.logout-modal-button{width:100%}}@media (prefers-reduced-motion:reduce){.logout-modal-overlay,.logout-modal{animation:none}.logout-modal-button:active{transform:none}}.theme-toggle{z-index:1000;background:var(--color-primary);cursor:pointer;width:52px;height:52px;transition:all var(--transition-base);box-shadow:var(--shadow-md);color:var(--color-text-on-primary);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;bottom:24px;right:24px}.dark-mode .theme-toggle{background:var(--color-secondary)}.theme-toggle:hover{box-shadow:var(--shadow-lg);transform:scale(1.1)}.theme-toggle:active{box-shadow:var(--shadow-sm);transform:scale(.95)}.theme-toggle:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:3px}.theme-toggle-track,.theme-toggle-label{display:none}.theme-toggle-thumb{justify-content:center;align-items:center;display:flex}.theme-icon{color:currentColor;width:22px;height:22px;transition:all var(--transition-base)}.sun-icon{animation:20s linear infinite rotate}.moon-icon{animation:3s ease-in-out infinite float}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.theme-toggle,.theme-icon{transition:none;animation:none}}@media (width<=640px){.theme-toggle{width:44px;height:44px;bottom:16px;right:16px}.theme-icon{width:18px;height:18px}}.course-nav-sidebar{background:var(--color-surface-elevated);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;height:100%;transition:width .22s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.course-nav-sidebar.is-open{width:240px;min-width:240px}.course-nav-sidebar.is-closed{width:48px;min-width:48px}.course-nav-toggle{border:none;border-bottom:1px solid var(--color-border);cursor:pointer;width:100%;height:44px;color:var(--color-primary);transition:background var(--transition-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.course-nav-toggle:hover{background:rgba(var(--color-primary-rgb), .08)}.course-nav-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.course-nav-toggle-icon{color:var(--color-text-secondary);font-size:1rem;font-weight:600;line-height:1}.course-nav-body{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;flex:1;padding:10px 0 16px;overflow-y:auto}.course-nav-body::-webkit-scrollbar{width:4px}.course-nav-body::-webkit-scrollbar-track{background:0 0}.course-nav-body::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}.course-nav-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 6px;padding:0 12px;font-size:.625rem;font-weight:700}.course-nav-module-list,.course-nav-week-list,.course-nav-lecture-list{margin:0;padding:0;list-style:none}.course-nav-module{margin-bottom:2px}.course-nav-module-btn{cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:6px;padding:6px 12px;display:flex}.course-nav-module-btn:hover{background:rgba(var(--color-primary-rgb), .06)}.course-nav-module-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.course-nav-module-btn.is-active{border-left-color:var(--color-primary);background:rgba(var(--color-primary-rgb), .08)}.course-nav-chevron{color:var(--color-text-tertiary);text-align:center;flex-shrink:0;width:10px;font-size:.625rem}.course-nav-module-num{letter-spacing:.06em;color:var(--color-primary);background:rgba(var(--color-primary-rgb), .12);border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:.625rem;font-weight:700}.course-nav-module-title{color:var(--color-text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.course-nav-week-list{border-left:1px solid var(--color-border);margin-bottom:4px;margin-left:14px;padding-left:10px}.course-nav-week-btn{cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:6px;padding:5px 10px;display:flex}.course-nav-week-btn:hover{background:rgba(var(--color-primary-rgb), .05)}.course-nav-week-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.course-nav-week-btn.is-active{border-left-color:var(--color-primary)}.course-nav-week-num{letter-spacing:.05em;color:var(--color-text-tertiary);flex-shrink:0;font-size:.5625rem;font-weight:700}.course-nav-week-title{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.6875rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.course-nav-lecture-list{border-left:1px solid var(--color-border);margin-bottom:4px;margin-left:12px;padding-left:8px}.course-nav-lecture-btn{cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-left:2px solid #0000;align-items:flex-start;gap:6px;padding:5px 10px;display:flex}.course-nav-lecture-btn:hover{background:rgba(var(--color-primary-rgb), .07)}.course-nav-lecture-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.course-nav-lecture-btn.is-active{background:rgba(var(--color-primary-rgb), .12);border-left-color:var(--color-primary)}.course-nav-lecture-num{background:var(--color-surface-sunken);border:1px solid var(--color-border);width:16px;height:16px;color:var(--color-text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:.5625rem;font-weight:700;display:flex}.course-nav-lecture-btn.is-active .course-nav-lecture-num{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.course-nav-lecture-title{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.6875rem;font-weight:400;line-height:1.35;display:-webkit-box;overflow:hidden}.course-nav-lecture-btn.is-active .course-nav-lecture-title{color:var(--color-text-primary);font-weight:600}@media (width<=1023px){.course-nav-sidebar.is-open{width:200px;min-width:200px}}@media (width<=767px){.course-nav-sidebar.is-open{width:180px;min-width:180px}}@media (prefers-reduced-motion:reduce){.course-nav-sidebar{transition:none}}.lecture-nav-sidebar{background:var(--color-surface-elevated);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;height:100%;transition:width .22s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.lecture-nav-sidebar.is-open{width:240px;min-width:240px}.lecture-nav-sidebar.is-closed{width:48px;min-width:48px}.sidebar-toggle{border:none;border-bottom:1px solid var(--color-border);cursor:pointer;width:100%;height:44px;color:var(--color-accent);transition:background var(--transition-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.sidebar-toggle:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.sidebar-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.sidebar-toggle-icon{color:var(--color-text-secondary);font-size:1rem;font-weight:600;line-height:1}.sidebar-nav{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;flex:1;padding:12px 0 16px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}.sidebar-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 8px;padding:0 14px;font-size:.625rem;font-weight:700}.sidebar-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar-item{cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-left:3px solid #0000;align-items:flex-start;gap:8px;padding:8px 14px;display:flex;position:relative}.sidebar-item:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent);border-left-color:color-mix(in srgb, var(--color-accent) 40%, transparent)}.sidebar-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.sidebar-item.is-active{background:color-mix(in srgb, var(--color-accent) 14%, transparent);border-left-color:var(--color-accent)}.sidebar-item.is-done .sidebar-item-num{background:color-mix(in srgb, var(--color-accent) 20%, transparent);color:var(--color-accent);border-color:color-mix(in srgb, var(--color-accent) 40%, transparent)}.sidebar-item-num{background:var(--color-surface-sunken);border:1px solid var(--color-border);width:22px;height:22px;color:var(--color-text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:.6875rem;font-weight:700;display:flex}.sidebar-item.is-active .sidebar-item-num{background:var(--color-accent);border-color:var(--color-accent);color:#000}.sidebar-item-icon{flex-shrink:0;margin-top:2px;font-size:.875rem}.sidebar-item-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sidebar-item-type{letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);opacity:.8;font-size:.625rem;font-weight:700}.sidebar-item.is-active .sidebar-item-type{opacity:1}.sidebar-item.activity-wrap-up .sidebar-item-type{color:#0d9488}.sidebar-item.activity-case-study .sidebar-item-type{color:#f97316}.sidebar-item.activity-wrap-up.is-active{background:#0d948824;border-left-color:#0d9488}.sidebar-item.activity-case-study.is-active{background:#f9731624;border-left-color:#f97316}.sidebar-item.activity-wrap-up.is-active .sidebar-item-num{color:#fff;background:#0d9488;border-color:#0d9488}.sidebar-item.activity-case-study.is-active .sidebar-item-num{color:#fff;background:#f97316;border-color:#f97316}.sidebar-item.activity-wrap-up.is-active .sidebar-item-dot{background:#0d9488}.sidebar-item.activity-case-study.is-active .sidebar-item-dot{background:#f97316}.sidebar-item.activity-wrap-up:hover{border-left-color:#0d948866}.sidebar-item.activity-case-study:hover{border-left-color:#f9731666}.sidebar-item-title{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.sidebar-item.is-active .sidebar-item-title{color:var(--color-text-primary);font-weight:600}.sidebar-item-dot{background:var(--color-accent);border-radius:50%;flex-shrink:0;align-self:flex-start;width:6px;height:6px;margin-top:6px}@media (width<=1023px){.lecture-nav-sidebar.is-open{width:200px;min-width:200px}}@media (width<=767px){.lecture-nav-sidebar.is-open{width:180px;min-width:180px}}@media (prefers-reduced-motion:reduce){.lecture-nav-sidebar{transition:none}}.learning-platform{background:var(--color-page-bg);width:100%;min-height:100vh;font-family:var(--font-sans);flex-direction:column;justify-content:flex-start;align-items:stretch;margin:0;padding:0;display:flex;position:relative}.theme-toggle-container{top:var(--space-md);right:var(--space-md);z-index:var(--z-fixed);animation:.5s .3s backwards fadeIn;position:fixed}.platform-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);width:100%;z-index:var(--z-sticky);position:sticky;top:0}.platform-header-inner{width:100%;max-width:1400px;padding:var(--space-xs) var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);height:52px;margin:0 auto;display:flex}.platform-header-brand{align-items:center;gap:var(--space-sm);min-width:0;display:flex}.platform-header-logo{-o-object-fit:contain;object-fit:contain;flex-shrink:0;width:28px;height:28px}.platform-header-title{font-size:var(--text-sm);color:var(--color-text-secondary);letter-spacing:var(--tracking-normal);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:500;overflow:hidden}@media (width<=767px){.platform-header-inner{padding:var(--space-xs) var(--space-sm);height:48px}.platform-header-logo{width:24px;height:24px}.platform-header-title{font-size:var(--text-xs)}}@media (width<=479px){.platform-header-title{display:none}}.top-controls-container{top:var(--space-md);right:var(--space-md);z-index:var(--z-fixed);align-items:center;gap:var(--space-sm);animation:.5s .3s backwards fadeIn;display:flex;position:fixed}.topic-header-controls{align-items:center;gap:var(--space-sm);flex-shrink:0;margin-left:auto;display:flex}@media (width<=767px){.theme-toggle-container{top:var(--space-sm);right:var(--space-sm)}.top-controls-container{top:var(--space-sm);right:var(--space-sm);gap:var(--space-xs)}}@media (width<=479px){.theme-toggle-container{top:var(--space-xs);right:var(--space-xs)}.top-controls-container{top:var(--space-xs);right:var(--space-xs);gap:var(--space-xs)}}.loading-container{justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-2xl);background:var(--color-page-bg);flex-direction:column;width:100%;min-width:300px;height:100vh;display:flex}.spinner{width:64px;height:64px;position:relative}.spinner-circle{border:5px solid var(--color-spinner-border);border-top-color:var(--color-primary);border-radius:50%;width:100%;height:100%;animation:.8s linear infinite spin}.loading-text{font-size:var(--text-lg);color:var(--color-text-primary);text-align:center;letter-spacing:var(--tracking-tight);margin:0;font-weight:600}.error-container{justify-content:center;align-items:center;gap:var(--space-lg);padding:var(--space-2xl);background:var(--color-page-bg);text-align:center;flex-direction:column;width:100%;max-width:500px;height:100vh;margin:0 auto;display:flex}.error-icon{font-size:4rem;line-height:1}.error-title{font-size:var(--text-3xl);color:var(--color-text-primary);letter-spacing:var(--tracking-tight);margin:0;font-weight:700}.error-message{font-size:var(--text-lg);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0}.retry-button{padding:var(--space-sm) var(--space-xl);font-size:var(--text-base);color:var(--color-text-on-primary);background:var(--color-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);font-weight:600;font-family:var(--font-sans);border:none}.retry-button:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-lg), var(--shadow-glow);transform:translateY(-2px)}.retry-button:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.retry-button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.topic-selection-page{background:var(--color-surface-sunken);flex-direction:column;width:100%;max-width:100%;min-height:100vh;display:flex}.topic-selection-content{padding:var(--space-lg) var(--space-lg) var(--space-2xl);flex:1;width:100%;max-width:1400px;margin:0 auto}.content-header{text-align:center;margin-bottom:var(--space-2xl);padding:var(--space-lg);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);animation:.8s backwards fadeIn}.section-title{font-size:var(--text-4xl);color:var(--color-text-primary);margin:0 0 var(--space-sm) 0;letter-spacing:var(--tracking-tight);font-weight:700;line-height:var(--leading-tight)}.section-description{font-size:var(--text-lg);color:var(--color-text-primary);line-height:var(--leading-relaxed);opacity:.9;max-width:600px;margin:0 auto;font-weight:500}.topic-content-page{background:var(--color-surface-sunken);flex-direction:column;width:100%;height:100vh;display:flex;overflow:hidden}.topic-content-header{padding:var(--space-xs) var(--space-md);border-bottom:1px solid var(--color-border);background:var(--color-surface-elevated);align-items:center;gap:var(--space-md);box-shadow:var(--shadow-sm);z-index:var(--z-sticky);display:flex;position:sticky;top:0}.back-to-topics-button{align-items:center;gap:var(--space-2xs);padding:var(--space-2xs) var(--space-sm);font-size:var(--text-xs);color:var(--color-text-primary);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;font-weight:600;font-family:var(--font-sans);flex-shrink:0;display:inline-flex}.back-to-topics-button:hover{background:var(--color-surface);border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translate(-2px)}.back-to-topics-button:active{background:var(--color-surface-elevated);transform:translate(0)}.back-to-topics-button:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-color:var(--color-primary)}.back-icon{font-size:1rem;line-height:1}.topic-info{flex:1;min-width:0}.topic-info h1{margin:0 0 var(--space-4xs) 0;font-size:var(--text-lg);color:var(--color-text-primary);letter-spacing:var(--tracking-tight);font-weight:600;line-height:var(--leading-tight)}.topic-description-header{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:400;line-height:var(--leading-normal);margin:0}.topic-content-body{background:var(--color-surface-sunken);flex-direction:row;flex:1;display:flex;overflow:hidden}.topic-content-main{padding:var(--space-md);flex:1;min-width:0;overflow-y:auto}@media (width<=1023px){.topic-selection-content{padding:var(--space-lg) var(--space-md) var(--space-xl);margin:0 auto}.topic-content-header{padding:var(--space-2xs) var(--space-sm);gap:var(--space-sm)}.topic-info h1{font-size:var(--text-base)}.topic-description-header{font-size:var(--text-xs)}.topic-content-main{padding:var(--space-sm)}}@media (width<=767px){.learning-platform{padding:0}.topic-selection-content{padding:var(--space-md) var(--space-sm) var(--space-lg);margin:0 auto}.content-header{margin-bottom:var(--space-lg);padding:var(--space-md)}.section-title{font-size:var(--text-3xl)}.section-description{font-size:var(--text-base)}.topic-content-header{padding:var(--space-2xs) var(--space-xs);gap:var(--space-xs);flex-direction:column;align-items:flex-start}.back-to-topics-button{padding:var(--space-3xs) var(--space-xs);gap:var(--space-3xs);font-size:.6875rem}.back-icon{font-size:.875rem}.topic-info h1{font-size:var(--text-sm)}.topic-description-header{font-size:.6875rem}.topic-content-main{padding:var(--space-xs)}}@media (width<=479px){.loading-container,.error-container{padding:var(--space-lg)}.topic-selection-content{padding:var(--space-sm) var(--space-xs) var(--space-md);margin:0 auto}.content-header{padding:var(--space-sm)}.section-title{font-size:var(--text-2xl)}.section-description{font-size:var(--text-sm)}.spinner{width:50px;height:50px}.error-icon{font-size:3rem}.error-title{font-size:var(--text-2xl)}.error-message{font-size:var(--text-base)}.retry-button{padding:var(--space-xs) var(--space-lg);font-size:var(--text-sm)}}@media (prefers-reduced-motion:reduce){.spinner-circle{border-top-color:var(--color-primary);animation:none}.retry-button:hover,.back-to-topics-button:hover{transform:none}.content-header{animation:none}}@media (prefers-contrast:more){.loading-container,.error-container{border:2px solid var(--color-border-strong)}.retry-button,.back-to-topics-button{border-width:2px}.topic-content-header{border-bottom-width:2px}}.platform-layout{width:100%;max-width:100%;height:100vh;box-shadow:none;background:#fff;border-radius:0;grid-template-columns:380px 1fr;display:grid;overflow:hidden}.sidebar{border-right:1px solid #e5e7eb;height:100%;overflow-y:auto}.main-content{flex-direction:column;height:100%;display:flex;overflow:hidden}.content-body{flex:1;padding:3rem;overflow-y:auto}.content-body p{color:#6b7280;margin:0;font-size:1.125rem}.current-topic{color:#6b7280;margin:0;font-size:1.125rem;font-weight:500}@media (prefers-reduced-motion:reduce){.spinner-circle{border-top-color:#667eea;animation:none}.retry-button:hover,.retry-button:active{transform:none}}@media (prefers-contrast:high){.learning-platform{background:#000}.loading-container,.error-container,.platform-content{border:2px solid #fff}.error-title,.platform-content h1{color:#000;-webkit-text-fill-color:#000}}.lp-theme-toggle{z-index:9999;position:fixed;top:1.125rem;right:1.25rem}.lp-root{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.lp-left{background:#0d0521;flex-direction:column;padding:2.5rem;display:flex;position:relative;overflow:hidden}.lp-deco-layer{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.lp-deco{color:#c896ff17;white-space:nowrap;font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-weight:700;animation:linear infinite decoFloat;position:absolute}.ld-1{font-size:5rem;animation-duration:18s;animation-delay:0s;top:5%;left:5%}.ld-2{font-size:4rem;animation-duration:22s;animation-delay:-4s;top:20%;right:8%}.ld-3{font-size:6rem;animation-duration:20s;animation-delay:-8s;top:60%;left:3%}.ld-4{font-size:3.5rem;animation-duration:25s;animation-delay:-12s;top:75%;right:5%}.ld-5{font-size:4.5rem;animation-duration:16s;animation-delay:-2s;top:40%;left:60%}.ld-6{font-size:3rem;animation-duration:28s;animation-delay:-6s;top:85%;left:40%}.ld-7{font-size:5.5rem;animation-duration:19s;animation-delay:-10s;top:10%;left:45%}.ld-8{font-size:3.5rem;animation-duration:23s;animation-delay:-14s;top:50%;right:20%}@keyframes decoFloat{0%{opacity:.09;transform:translateY(0)rotate(0)}25%{opacity:.14;transform:translateY(-18px)rotate(2deg)}50%{opacity:.1;transform:translateY(-8px)rotate(-1deg)}75%{opacity:.15;transform:translateY(-22px)rotate(1.5deg)}to{opacity:.09;transform:translateY(0)rotate(0)}}.lp-logo-row{z-index:1;align-items:center;gap:.75rem;display:flex;position:relative}.lp-revou-icon{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:72px;height:72px}.lp-hero{z-index:1;flex:1;justify-content:center;align-items:center;padding:1.5rem 0;display:flex;position:relative}.lp-code-window{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb3;border:1px solid #8c50dc33;border-radius:14px;width:100%;max-width:340px;animation:6s ease-in-out infinite windowFloat;overflow:hidden;box-shadow:inset 0 0 0 1px #8c50dc14,0 32px 64px #5014961f,0 0 60px #7c3aed14}.dark-mode .lp-code-window{background:#ffffff0a;border:1px solid #c896ff26;box-shadow:inset 0 0 0 1px #c896ff0f,0 32px 64px #00000080,0 0 60px #7c3aed1f}@keyframes windowFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.lp-window-bar{background:#8c50dc14;border-bottom:1px solid #8c50dc1f;align-items:center;gap:6px;padding:.625rem .875rem;display:flex}.dark-mode .lp-window-bar{background:#ffffff0f;border-bottom:1px solid #c896ff14}.lp-window-bar span{border-radius:50%;width:10px;height:10px;display:block}.lp-window-bar span:first-child{background:#ff5f57}.lp-window-bar span:nth-child(2){background:#ffbd2e}.lp-window-bar span:nth-child(3){background:#27c840}.lp-code-body{margin:0;padding:1.25rem 1.25rem 1.5rem;overflow:hidden}.lp-code-body code{color:#111827;white-space:pre;font-family:JetBrains Mono,Fira Code,SF Mono,monospace;font-size:clamp(.7rem,1.2vw,.8125rem);line-height:1.7;display:block}.dark-mode .lp-code-body code{color:#ffd727}.lp-cursor{vertical-align:text-bottom;background:#5b21b6;border-radius:1px;width:2px;height:.85em;margin-left:1px;animation:.75s step-end infinite cursorBlink;display:inline-block}.dark-mode .lp-cursor{background:#a78bfa}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.lp-brand{z-index:1;position:relative}.lp-brand-name{color:#fff;letter-spacing:-.03em;margin:0 0 .5rem;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;line-height:1.1}.lp-brand-name span{color:#ffc700}.lp-brand-desc{color:#ffffffd9;margin:0;font-size:.9375rem;line-height:1.6}.lp-right{background:#fafafa;justify-content:center;align-items:center;padding:2.5rem;display:flex}.dark-mode .lp-right{background:#1c1733;border-left:1px solid #7c3aed33}.lp-form-wrap{text-align:center;width:100%;max-width:380px;animation:.65s cubic-bezier(.16,1,.3,1) both formIn}@keyframes formIn{0%{filter:blur(2px);transform:translateY(24px)}to{filter:blur();transform:translateY(0)}}.lp-mobile-brand{justify-content:center;align-items:center;gap:.625rem;margin-bottom:2rem;display:none}.lp-mobile-icon{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:36px;height:36px}.lp-mobile-name{color:#2e1065;letter-spacing:-.02em;font-size:1.125rem;font-weight:800}.dark-mode .lp-mobile-name{color:#e9d5ff}.lp-mobile-name em{color:#ffc700;font-style:normal}.lp-form-header{margin-bottom:2rem}.lp-title{color:#2e1065;letter-spacing:-.03em;margin:0 0 .375rem;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;line-height:1.15}.dark-mode .lp-title{color:#ede9fe}.lp-subtitle{color:#6b7280;margin:0;font-size:.9375rem}.dark-mode .lp-subtitle{color:#9ca3af}.lp-form{flex-direction:column;gap:1.25rem;display:flex}.lp-field{flex-direction:column;gap:.4375rem;display:flex}.lp-label{color:#374151;font-size:.875rem;font-weight:600}.dark-mode .lp-label{color:#c4b5fd}.lp-input{box-sizing:border-box;width:100%;font-size:.9375rem;font-family:var(--font-sans);color:#111827;text-align:left;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;padding:.75rem .9375rem;transition:border-color .18s,box-shadow .18s,background .18s;display:block}.dark-mode .lp-input{color:#f3f4f6;background:#1c1033;border-color:#3b1d6e}.lp-input::placeholder{color:#9ca3af}.dark-mode .lp-input::placeholder{color:#6b21a8}.lp-input:hover{border-color:#d1d5db}.dark-mode .lp-input:hover{border-color:#5b21b6}.lp-input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed24}.dark-mode .lp-input:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa2e}.lp-pass-wrap{position:relative}.lp-input--pass{padding-right:3rem}.lp-eye{cursor:pointer;color:#9ca3af;background:0 0;border:none;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:color .15s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.lp-eye:hover{color:#6d28d9}.dark-mode .lp-eye:hover{color:#c4b5fd}.lp-eye svg{width:18px;height:18px}.lp-error{color:#be123c;background:#fff1f2;border:1.5px solid #fecdd3;border-radius:8px;margin:0;padding:.6875rem .875rem;font-size:.875rem;animation:.4s cubic-bezier(.36,.07,.19,.97) both errShake}.dark-mode .lp-error{color:#fda4af;background:#be123c1a;border-color:#be123c4d}@keyframes errShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.lp-btn{color:#fff;width:100%;font-size:.9375rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;background:#4c1d95;border:none;border-radius:10px;justify-content:center;align-items:center;min-height:50px;margin-top:.25rem;padding:.84375rem;transition:background .2s,transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.dark-mode .lp-btn{color:#fff;background:#7c3aed}.lp-btn:hover{background:#5b21b6;transform:translateY(-1px);box-shadow:0 8px 24px #4c1d9561}.dark-mode .lp-btn:hover{background:#6d28d9;box-shadow:0 8px 24px #6d28d973}.lp-btn:active{box-shadow:none;transition-duration:80ms;transform:translateY(0)}.lp-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.lp-spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.65s linear infinite spin;display:block}.lp-hint{color:#6b7280;text-align:center;margin-top:1.75rem;font-size:.875rem}.dark-mode .lp-hint{color:#6b7280}.lp-hint-demo{color:#4c1d95;font-weight:600}.dark-mode .lp-hint-demo{color:#a78bfa}@media (width<=768px){.lp-root{grid-template-columns:1fr}.lp-left{display:none}.lp-mobile-brand{display:flex}.lp-right{align-items:flex-start;min-height:100vh;padding:5rem 1.5rem 2.5rem}.lp-form-wrap{max-width:100%}}@media (width<=480px){.lp-right{padding:4.5rem 1.25rem 2rem}}@media (prefers-reduced-motion:reduce){.lp-deco,.lp-code-window,.lp-form-wrap{animation:none}.lp-btn:hover{transform:none}.lp-error{animation:none}.lp-spinner{animation:1s linear infinite spin}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.app-auth-loading{background:var(--bg,#0d1117);justify-content:center;align-items:center;min-height:100vh;display:flex}.app-auth-spinner{border:3px solid var(--accent-border,#7f7f7f4d);border-top-color:var(--accent,#6366f1);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite app-auth-spin}@keyframes app-auth-spin{to{transform:rotate(360deg)}}
