.tutorial-viewer{display:flex;height:100vh;flex-direction:column;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1));font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--color-primary: #4f46e5;--color-primary-dark: #4338ca;--color-success: #059669;--color-warning: #d97706;--color-error: #dc2626;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827}.tutorial-viewer.theme-dark{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1));--color-gray-50: #1f2937;--color-gray-100: #374151;--color-gray-200: #4b5563;--color-gray-300: #6b7280;--color-gray-400: #9ca3af;--color-gray-500: #d1d5db;--color-gray-600: #e5e7eb;--color-gray-700: #f3f4f6;--color-gray-800: #f9fafb;--color-gray-900: #ffffff}.tutorial-viewer.font-size-small{font-size:14px;line-height:1.4}.tutorial-viewer.font-size-medium{font-size:16px;line-height:1.5}.tutorial-viewer.font-size-large{font-size:18px;line-height:1.6}.tutorial-viewer.fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.tutorial-viewer-loading{display:flex;height:16rem;flex-direction:column;align-items:center;justify-content:center}.tutorial-viewer-error{display:flex;height:16rem;align-items:center;justify-content:center;padding:2rem}.tutorial-header{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background:var(--color-gray-50);border-color:var(--color-gray-200)}.tutorial-header-content{display:flex;align-items:center;justify-content:space-between;padding:1.5rem}.tutorial-title-section{min-width:0px;flex:1 1 0%}.tutorial-title{margin-bottom:.5rem;font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--color-gray-900)}.tutorial-description{margin-bottom:.75rem;max-width:42rem;font-size:1rem;line-height:1.5rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));color:var(--color-gray-600)}.tutorial-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.difficulty-badge{border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500}.difficulty-badge.difficulty-beginner{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.difficulty-badge.difficulty-intermediate{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.difficulty-badge.difficulty-advanced{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.time-estimate,.subject-tag,.grade-tag{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.25rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1));background:var(--color-gray-100);color:var(--color-gray-700)}.tutorial-controls{display:flex;align-items:center;gap:.75rem}.search-container{position:relative;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.search-container.collapsed{width:auto}.search-container.expanded{width:20rem}.search-toggle{border-radius:.5rem;padding:.5rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.search-toggle:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.search-toggle{color:var(--color-gray-500)}.search-toggle:hover{color:var(--color-gray-700);background:var(--color-gray-100)}.search-form{display:flex;align-items:center;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background:white;border-color:var(--color-gray-300)}.search-input-wrapper{position:relative;flex:1 1 0%}.search-icon{position:absolute;left:.75rem;top:50%;height:1rem;width:1rem;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));color:var(--color-gray-400)}.search-input{width:100%;border-width:0px;background-color:transparent;padding:.5rem 2rem .5rem 2.5rem}.search-input:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.search-input{color:var(--color-gray-900)}.search-clear{position:absolute;right:.5rem;top:50%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));padding:.25rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.search-clear:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.search-submit{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1));padding:.5rem 1rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.search-submit:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.search-close{padding:.5rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.search-close:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.control-buttons{display:flex;align-items:center;gap:.25rem}.control-button{border-radius:.5rem;padding:.5rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.control-button:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.control-button{color:var(--color-gray-500)}.control-button:hover{color:var(--color-gray-700);background:var(--color-gray-100)}.control-button.active{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.preferences-container{position:relative}.preferences-panel{position:absolute;right:0;top:100%;z-index:50;margin-top:.5rem;width:20rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background:white;border-color:var(--color-gray-200)}.preferences-header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:1rem;border-color:var(--color-gray-200)}.preferences-header h4{font-weight:600;color:var(--color-gray-900)}.preferences-close{padding:.25rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.preferences-close:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.preferences-content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.preferences-content{padding:1rem}.preference-group>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.preference-label{display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--color-gray-700)}.preference-options{display:flex;gap:.5rem}.preference-option{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.preference-option:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.preference-option{border-color:var(--color-gray-300);background:var(--color-gray-50)}.preference-option.active{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.preference-toggle{display:flex;align-items:center}.toggle-label{display:flex;cursor:pointer;align-items:center}.toggle-label input[type=checkbox]{border-width:0;position:absolute;margin:-1px;height:1px;width:1px;overflow:hidden;white-space:nowrap;border-width:0px;padding:0;clip:rect(0,0,0,0)}.toggle-switch{position:relative;margin-right:.75rem;display:inline-flex;height:1.5rem;width:2.75rem;align-items:center;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background:var(--color-gray-200)}.toggle-label input:checked+.toggle-switch{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.toggle-switch:after{position:absolute;left:.25rem;height:1rem;width:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;--tw-content: "";content:var(--tw-content)}.toggle-label input:checked+.toggle-switch:after{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.shortcuts-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.shortcuts-list{font-size:.875rem;line-height:1.25rem}.shortcut-item{display:flex;align-items:center;justify-content:space-between}.shortcut-keys{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.25rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1));background:var(--color-gray-100);color:var(--color-gray-800)}.shortcut-desc{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));color:var(--color-gray-600)}.tutorial-progress{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem;background:var(--color-gray-50);border-color:var(--color-gray-200)}.progress-header{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.progress-title{font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--color-gray-900)}.completion-badge{display:flex;align-items:center;gap:.25rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.quick-stats{margin-bottom:1rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.stat-item{text-align:center}.stat-value{font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--color-gray-900)}.stat-label{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));color:var(--color-gray-600)}.progress-bar-container>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.progress-info{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;line-height:1.25rem}.progress-stats{display:flex;align-items:center;gap:1rem}.progress-text{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));color:var(--color-gray-600)}.progress-percentage{font-weight:600;color:var(--color-gray-900)}.time-info{display:flex;align-items:center;gap:1rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));color:var(--color-gray-500)}.progress-bar-track{position:relative;height:.75rem;overflow:hidden;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));background:var(--color-gray-200)}.progress-bar-fill{position:relative;height:100%;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;transition-timing-function:cubic-bezier(0,0,.2,1)}.progress-bar-shine{position:absolute;top:0;right:0;bottom:0;left:0;--tw-skew-x: -12deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.progress-bar-shine{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: transparent var(--tw-gradient-to-position);opacity:.2}.required-progress-overlay{position:absolute;top:0;left:0;height:100%;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1));opacity:.5}.progress-legend{display:flex;align-items:center;gap:1rem;font-size:.75rem;line-height:1rem}.legend-item{display:flex;align-items:center;gap:.25rem}.legend-color{height:.75rem;width:.75rem;border-radius:.25rem}.legend-color.overall{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.legend-color.required{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.step-indicators{margin-top:1rem}.step-indicators-track{display:flex;align-items:center;gap:.25rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin;scrollbar-color:var(--color-gray-300) transparent}.step-indicator{position:relative;height:2rem;width:2rem;flex-shrink:0;cursor:pointer;border-radius:9999px;border-width:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.step-indicator:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.step-indicator.completed{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.step-indicator.current{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.step-indicator.revealed{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.step-indicator.locked{cursor:not-allowed;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));background:var(--color-gray-100);border-color:var(--color-gray-300)}.step-indicator.optional{border-style:dashed}.step-indicator-inner{display:flex;height:100%;width:100%;align-items:center;justify-content:center;border-radius:9999px}.current-step-pulse{position:relative;display:flex;height:100%;width:100%;align-items:center;justify-content:center}.pulse-ring{position:absolute;top:0;right:0;bottom:0;left:0}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.pulse-ring{animation:ping 1s cubic-bezier(0,0,.2,1) infinite;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1));opacity:.2}.pulse-dot{height:.5rem;width:.5rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.step-number{font-size:.75rem;line-height:1rem;font-weight:700}.step-connection{height:.125rem;min-width:.5rem;flex:1 1 0%;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.step-connection.active{--tw-bg-opacity: 1;background-color:rgb(165 180 252 / var(--tw-bg-opacity, 1))}.step-connection.inactive{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1));background:var(--color-gray-300)}.step-indicator:hover .step-tooltip{visibility:visible;opacity:1}.step-tooltip{visibility:hidden;position:absolute;bottom:100%;left:50%;z-index:10;margin-bottom:.5rem;--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));white-space:nowrap;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1));padding:.5rem .75rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));opacity:0;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background:var(--color-gray-900)}.step-tooltip:after{position:absolute;top:100%;left:50%;--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-width:4px;border-color:transparent;--tw-border-opacity: 1;border-top-color:rgb(17 24 39 / var(--tw-border-opacity, 1));--tw-content: "";content:var(--tw-content);border-top-color:var(--color-gray-900)}.tooltip-header{margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.tooltip-optional{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1));padding:.125rem .25rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(254 249 195 / var(--tw-text-opacity, 1))}.progress-milestones{margin-top:1.5rem}.milestones-title{margin-bottom:.75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--color-gray-700)}.milestones-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.milestone-item{display:flex;align-items:center;gap:.5rem;border-radius:.5rem;padding:.5rem}.milestone-item.reached{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.milestone-item.unreached{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));background:var(--color-gray-50);color:var(--color-gray-500)}.milestone-icon{flex-shrink:0}.milestone-circle{display:flex;height:1.5rem;width:1.5rem;align-items:center;justify-content:center;border-radius:9999px;border-width:2px;border-color:currentColor;font-size:.75rem;line-height:1rem;font-weight:700}.milestone-info{min-width:0px}.milestone-label{font-size:.75rem;line-height:1rem;font-weight:500}.milestone-step{font-size:.75rem;line-height:1rem;opacity:.75}.achievement-message{margin-top:1.5rem;border-radius:.5rem;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #4ade80 var(--tw-gradient-from-position);--tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);padding:1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.achievement-content{display:flex;align-items:center;gap:.75rem}.achievement-content h4{font-size:1.125rem;line-height:1.75rem;font-weight:700}.achievement-content p{opacity:.9}.tutorial-main{display:flex;min-height:0px;flex:1 1 0%}.tutorial-navigation{display:flex;flex-direction:column;border-right-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:320px;background:var(--color-gray-50);border-color:var(--color-gray-200)}.tutorial-navigation.collapsed{width:48px}.nav-toggle{position:absolute;top:1rem;right:-.75rem;z-index:10;display:flex;height:1.5rem;width:1.5rem;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.nav-toggle:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.nav-toggle{background:white;border-color:var(--color-gray-200);color:var(--color-gray-500)}.nav-toggle:hover{color:var(--color-gray-700)}.nav-content{display:flex;height:100%;flex-direction:column}.nav-tabs{display:flex;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));border-color:var(--color-gray-200)}.nav-tab{display:flex;flex:1 1 0%;align-items:center;justify-content:center;gap:.5rem;border-bottom-width:2px;border-color:transparent;padding:.75rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.nav-tab:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.nav-tab{color:var(--color-gray-500)}.nav-tab:hover{color:var(--color-gray-700);border-color:var(--color-gray-300)}.nav-tab.active{--tw-border-opacity: 1;border-color:rgb(79 70 229 / var(--tw-border-opacity, 1));--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.bookmark-count{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1));padding:.125rem .375rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity, 1))}.nav-tab-content{flex:1 1 0%;overflow-y:auto;padding:1rem}.steps-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.step-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.step-section-header{margin-bottom:.5rem}.step-section-header button{width:100%;border-radius:.25rem;padding:.5rem;text-align:left;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.step-section-header button:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.step-section-header button{color:var(--color-gray-700)}.step-section-header button:hover{background:var(--color-gray-50)}.section-title{font-size:.875rem;line-height:1.25rem;font-weight:600}.steps-in-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.step-item{position:relative;display:flex;align-items:center;gap:.5rem;border-radius:.5rem}.step-item.current{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1))}.step-item.disabled{opacity:.5}.step-button{display:flex;flex:1 1 0%;align-items:center;gap:.75rem;border-radius:.5rem;padding:.75rem;text-align:left;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.step-button:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.step-button:disabled{cursor:not-allowed}.step-button:hover:disabled{background-color:transparent}.step-button:hover:not(:disabled){background:var(--color-gray-50)}.step-status{flex-shrink:0}.step-content{min-width:0px;flex:1 1 0%}.step-header{margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.step-number{display:flex;height:1.5rem;width:1.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));font-size:.75rem;line-height:1rem;font-weight:700;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1));background:var(--color-gray-200);color:var(--color-gray-700)}.step-title{flex:1 1 0%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--color-gray-900)}.optional-badge{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1));padding:.125rem .5rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.step-indicators{margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.media-indicator,.interactive-indicator,.bookmark-indicator{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));color:var(--color-gray-400)}.bookmark-toggle{padding:.25rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.bookmark-toggle:hover{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.bookmark-toggle{color:var(--color-gray-400)}.bookmark-toggle:hover,.bookmark-toggle.active{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.bookmarks-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.empty-state{padding-top:2rem;padding-bottom:2rem;text-align:center}.bookmark-item{position:relative;display:flex;align-items:flex-start;gap:.75rem;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:.75rem;background:var(--color-gray-50)}.bookmark-button{min-width:0px;flex:1 1 0%;text-align:left}.bookmark-header{margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.bookmark-note{margin-top:.5rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));color:var(--color-gray-600)}.bookmark-date{margin-top:.25rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));color:var(--color-gray-500)}.remove-bookmark{padding:.25rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.remove-bookmark:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.objectives-list>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.objectives-items>:not([hidden])~:not([hidden]),.prerequisites-items>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.objective-item,.prerequisite-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;line-height:1.25rem}.tutorial-content{display:flex;flex:1 1 0%;flex-direction:column;overflow:hidden;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.tutorial-content-empty{display:flex;flex:1 1 0%;align-items:center;justify-content:center;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));background:white}.step-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:1.5rem;border-color:var(--color-gray-200)}.step-title-section{min-width:0px;flex:1 1 0%}.step-number-badge{margin-bottom:.75rem;display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1));padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity, 1))}.optional-indicator{margin-left:.5rem;border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1));padding:.125rem .5rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.step-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:700;color:var(--color-gray-900)}.step-actions{display:flex;align-items:center;gap:.5rem}.bookmark-button{border-radius:.5rem;padding:.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.bookmark-button:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.bookmark-button.active{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.step-reveal-section{display:flex;flex:1 1 0%;align-items:center;justify-content:center;padding:2rem}.reveal-prompt{max-width:28rem;text-align:center}.reveal-prompt h3{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--color-gray-900)}.reveal-prompt p{margin-bottom:1rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));color:var(--color-gray-600)}.reveal-button{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1));padding:.75rem 1.5rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.reveal-button:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.reveal-timer{font-size:.875rem;line-height:1.25rem;font-style:italic;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1));color:var(--color-gray-500)}.step-content-section{flex:1 1 0%;overflow-y:auto}.step-media{margin-bottom:1.5rem}.image-container{text-align:center}.step-image{height:auto;max-width:100%;border-radius:.5rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.video-container,.audio-container{display:flex;justify-content:center}.step-video{height:auto;max-width:100%;border-radius:.5rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.step-audio{width:100%;max-width:28rem}.iframe-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.step-iframe{position:absolute;top:0;left:0;height:100%;width:100%;border-radius:.5rem}.step-text-content{padding-left:1.5rem;padding-right:1.5rem;padding-bottom:1.5rem}.content-body{color:var(--tw-prose-body);max-width:65ch}.content-body :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.content-body :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.content-body :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.content-body :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.content-body :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.content-body :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.content-body :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.content-body :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.content-body :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.content-body :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.content-body :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.content-body :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.content-body :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.content-body :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.content-body :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.content-body :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.content-body :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.content-body :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.content-body :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.content-body :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.content-body :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.content-body :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.content-body :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.content-body :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.content-body :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.content-body :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.content-body :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.content-body :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.content-body :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.content-body :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.content-body :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.content-body :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.content-body :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.content-body :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.content-body :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.content-body :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.content-body :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.content-body :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.content-body :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.content-body :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.content-body :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.content-body :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.content-body :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.content-body :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.content-body :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.content-body :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.content-body :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.content-body :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.content-body :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.content-body :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.content-body :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.content-body :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.content-body :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.content-body :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.content-body :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.content-body :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.content-body :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.content-body :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.content-body :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.content-body :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.content-body :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.content-body{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.content-body :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.content-body :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.content-body :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.content-body :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.content-body :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.content-body :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.content-body :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.content-body :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.content-body :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.content-body :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.content-body :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.content-body :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.content-body :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.content-body :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.content-body :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.content-body{font-size:1.125rem;line-height:1.7777778}.content-body :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.content-body :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2222222em;line-height:1.4545455;margin-top:1.0909091em;margin-bottom:1.0909091em}.content-body :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6666667em;margin-bottom:1.6666667em;padding-inline-start:1em}.content-body :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.6666667em;margin-top:0;margin-bottom:.8333333em;line-height:1}.content-body :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.6666667em;margin-top:1.8666667em;margin-bottom:1.0666667em;line-height:1.3333333}.content-body :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.3333333em;margin-top:1.6666667em;margin-bottom:.6666667em;line-height:1.5}.content-body :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:.4444444em;line-height:1.5555556}.content-body :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.content-body :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.content-body :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.content-body :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.content-body :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;border-radius:.3125rem;padding-top:.2222222em;padding-inline-end:.4444444em;padding-bottom:.2222222em;padding-inline-start:.4444444em}.content-body :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.content-body :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8666667em}.content-body :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.content-body :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.75;margin-top:2em;margin-bottom:2em;border-radius:.375rem;padding-top:1em;padding-inline-end:1.5em;padding-bottom:1em;padding-inline-start:1.5em}.content-body :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.5555556em}.content-body :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.5555556em}.content-body :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;margin-bottom:.6666667em}.content-body :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.content-body :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4444444em}.content-body :where(.prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8888889em;margin-bottom:.8888889em}.content-body :where(.prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.content-body :where(.prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.content-body :where(.prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.content-body :where(.prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.3333333em}.content-body :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.8888889em;margin-bottom:.8888889em}.content-body :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em}.content-body :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em}.content-body :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6666667em;padding-inline-start:1.5555556em}.content-body :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3.1111111em;margin-bottom:3.1111111em}.content-body :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.content-body :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.content-body :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.content-body :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.content-body :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5}.content-body :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.content-body :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.content-body :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.content-body :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.75em;padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.content-body :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.content-body :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.content-body :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7777778em;margin-bottom:1.7777778em}.content-body :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.content-body :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em;line-height:1.5;margin-top:1em}.content-body :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.content-body :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.content-body{max-width:none;color:var(--color-gray-900)}.content-body strong{font-weight:600;color:var(--color-gray-900)}.content-body em{font-style:italic}.content-body code{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.25rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1));background:var(--color-gray-100);color:var(--color-gray-800)}.step-explanation{margin-top:1.5rem;border-radius:.25rem;border-left-width:4px;--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1));padding:1rem}.explanation-title{margin-bottom:.5rem;font-weight:600;--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.explanation-content{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.interactive-element{margin-top:1.5rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1.5rem;background:var(--color-gray-50);border-color:var(--color-gray-200)}.interactive-quiz>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.quiz-question{margin-bottom:1rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--color-gray-900)}.quiz-options>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.quiz-option{display:flex;cursor:pointer;align-items:center;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.quiz-option:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.quiz-option{border-color:var(--color-gray-200)}.quiz-option:hover{background:var(--color-gray-50)}.quiz-option input[type=radio]{margin-right:.75rem}.option-text{font-size:.875rem;line-height:1.25rem}.interactive-code-editor>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.code-prompt h4{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--color-gray-900)}.code-editor-container{overflow:hidden;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));border-color:var(--color-gray-200)}.editor-header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.5rem 1rem;background:var(--color-gray-100);border-color:var(--color-gray-200)}.language-tag{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1));padding:.25rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.reset-code-button{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.reset-code-button:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.code-editor{width:100%;resize:none;border-width:0px;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.25rem}.code-editor:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.code-editor{background:white;color:var(--color-gray-900)}.interactive-fill-blanks>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.fill-blanks-content{line-height:1.625}.fill-blank{margin-left:.25rem;margin-right:.25rem;display:inline-block;min-width:5rem;border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));background-color:transparent;padding:.25rem .5rem;text-align:center;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.fill-blank:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1));outline:2px solid transparent;outline-offset:2px}.fill-blank{border-color:var(--color-gray-300)}.fill-blank.correct{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.fill-blank.incorrect{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.validation-feedback{display:flex;align-items:center;gap:.5rem;border-radius:.5rem;padding:.75rem}.validation-feedback.correct{border-width:1px;--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.validation-feedback.incorrect{border-width:1px;--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.feedback-icon{flex-shrink:0}.submit-button{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1));padding:.5rem 1rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.submit-button:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}.submit-button:disabled{cursor:not-allowed;--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.step-hint-section,.step-solution-section{margin-top:1.5rem}.hint-toggle,.solution-toggle{display:flex;align-items:center;gap:.5rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(199 210 254 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity, 1));padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hint-toggle:hover,.solution-toggle:hover{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.hint-content,.solution-content{margin-top:.75rem;border-radius:.25rem;border-left-width:4px;--tw-border-opacity: 1;border-color:rgb(250 204 21 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1));padding:1rem}.solution-content{--tw-border-opacity: 1;border-color:rgb(74 222 128 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.step-navigation-section{border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1.5rem;border-color:var(--color-gray-200);background:var(--color-gray-50)}.step-nav-buttons{display:flex;align-items:center;justify-content:space-between}.nav-button{display:flex;align-items:center;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.nav-button:disabled{cursor:not-allowed;opacity:.5}.prev-button{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.prev-button:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.prev-button:hover:disabled{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.next-button{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.next-button:hover{--tw-bg-opacity: 1;background-color:rgb(199 210 254 / var(--tw-bg-opacity, 1))}.next-button:hover:disabled{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.complete-step-button{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1));padding:.5rem 1.5rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.complete-step-button:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.bookmark-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1));--tw-bg-opacity: .5}.bookmark-modal{margin-left:1rem;margin-right:1rem;width:100%;max-width:28rem;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background:white}.modal-header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:1rem;border-color:var(--color-gray-200)}.modal-header h3{font-weight:600;color:var(--color-gray-900)}.modal-close{padding:.25rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.modal-close:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.modal-content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.modal-content{padding:1rem}.bookmark-step-info{font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));color:var(--color-gray-600)}.bookmark-note-input{width:100%;resize:none;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding:.75rem}.bookmark-note-input:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))}.bookmark-note-input{border-color:var(--color-gray-300)}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.cancel-button{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.5rem 1rem;font-weight:500;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.cancel-button:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.save-button{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1));padding:.5rem 1rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.save-button:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity, 1))}@media (max-width: 768px){.tutorial-viewer{font-size:.875rem;line-height:1.25rem}.tutorial-main{flex-direction:column}.tutorial-navigation{border-right-width:0px;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));width:100%;max-height:200px}.tutorial-navigation.collapsed{max-height:48px;width:100%}.tutorial-header-content{flex-direction:column;align-items:flex-start;gap:1rem}.tutorial-controls{width:100%;justify-content:space-between}.search-container.expanded{width:100%}.quick-stats,.milestones-list{grid-template-columns:repeat(2,minmax(0,1fr))}.step-indicators-track{justify-content:center}.preferences-panel{width:18rem}}@media (max-width: 480px){.tutorial-header-content,.step-header{padding:1rem}.step-text-content{padding-left:1rem;padding-right:1rem}.step-navigation-section{padding:1rem}.step-nav-buttons{flex-direction:column;gap:.75rem}.nav-button{width:100%;justify-content:center}.tutorial-title{font-size:1.25rem;line-height:1.75rem}.step-title{font-size:1.125rem;line-height:1.75rem}}@media print{.tutorial-viewer{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.tutorial-controls,.tutorial-navigation,.step-navigation-section,.bookmark-button,.nav-toggle{display:none}.tutorial-main{flex-direction:column}.tutorial-content{width:100%}.step-media{max-width:100%}.step-image,.step-video{max-height:24rem}.interactive-element{border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.page-break{page-break-before:always}}@media (prefers-reduced-motion: reduce){.tutorial-viewer *,.tutorial-viewer *:before,.tutorial-viewer *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.progress-bar-shine,.pulse-ring,.current-step-pulse{display:none}}@media (prefers-contrast: high){.tutorial-viewer{--color-gray-100: #e0e0e0;--color-gray-200: #c0c0c0;--color-gray-300: #a0a0a0}.step-indicator,.nav-button,.control-button{border-width:2px}}.tutorial-viewer *:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1));--tw-ring-offset-width: 2px}.tutorial-viewer button:focus,.tutorial-viewer input:focus,.tutorial-viewer textarea:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity, 1))}.sr-only{position:absolute;margin:-1px;height:1px;width:1px;overflow:hidden;white-space:nowrap;border-width:0px;padding:0;clip:rect(0,0,0,0)}
