.home-view[data-v-fccd0f55]{max-width:1200px;margin:0 auto;padding:40px 20px}.hero-section[data-v-fccd0f55]{text-align:center;margin-bottom:60px}.hero-section h1[data-v-fccd0f55]{font-size:48px;color:#333;margin-bottom:16px}.tagline[data-v-fccd0f55]{font-size:20px;color:#666}.tutorials-grid[data-v-fccd0f55]{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-bottom:40px}.tutorial-card[data-v-fccd0f55]{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:24px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.tutorial-card[data-v-fccd0f55]:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001a;border-color:#2196f3}.card-header[data-v-fccd0f55]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.card-header h3[data-v-fccd0f55]{margin:0;color:#333;font-size:22px}.difficulty-badge[data-v-fccd0f55]{padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600;text-transform:uppercase}.difficulty-badge.beginner[data-v-fccd0f55]{background:#4caf50;color:#fff}.difficulty-badge.intermediate[data-v-fccd0f55]{background:#ff9800;color:#fff}.difficulty-badge.advanced[data-v-fccd0f55]{background:#f44336;color:#fff}.card-description[data-v-fccd0f55]{color:#666;line-height:1.6;margin-bottom:20px;font-size:16px}.card-footer[data-v-fccd0f55]{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #f0f0f0;font-size:14px}.module-count[data-v-fccd0f55]{color:#777}.progress[data-v-fccd0f55]{color:#2196f3;font-weight:600}.empty-state[data-v-fccd0f55]{text-align:center;padding:80px 20px;color:#666}.empty-state p[data-v-fccd0f55]{font-size:18px;margin-bottom:12px}.exercise-container[data-v-aa298587]{border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin:20px 0;background:#f9f9f9}.exercise-header[data-v-aa298587]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.exercise-header h3[data-v-aa298587]{margin:0;color:#333}.exercise-status[data-v-aa298587]{font-size:14px}.status-complete[data-v-aa298587]{color:#4caf50;font-weight:700}.status-attempted[data-v-aa298587]{color:#ff9800}.exercise-instructions[data-v-aa298587]{margin-bottom:20px;color:#555;line-height:1.6;text-align:left}.exercise-content[data-v-aa298587]{margin-bottom:20px}.exercise-hints[data-v-aa298587]{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.hint-toggle[data-v-aa298587]{background:#2196f3;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.hint-toggle[data-v-aa298587]:hover{background:#1976d2}.hint-content[data-v-aa298587]{margin-top:15px;padding:15px;background:#e3f2fd;border-radius:4px;color:#333}.hint-navigation[data-v-aa298587]{display:flex;gap:10px;margin-top:10px}.next-hint[data-v-aa298587],.previous-hint[data-v-aa298587]{background:#fff;color:#2196f3;border:1px solid #2196f3;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px}.next-hint[data-v-aa298587]:hover:not(:disabled),.previous-hint[data-v-aa298587]:hover:not(:disabled){background:#e3f2fd}.next-hint[data-v-aa298587]:disabled,.previous-hint[data-v-aa298587]:disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5;color:#999;border-color:#ddd}.exercise-actions[data-v-aa298587]{display:flex;gap:10px;justify-content:flex-end}.code-editor-container[data-v-2b35f511]{height:100%;min-height:200px;border:1px solid #ddd;border-radius:4px;overflow:hidden}.code-editor[data-v-2b35f511]{height:100%}[data-v-2b35f511] .cm-editor{height:100%;text-align:left}[data-v-2b35f511] .cm-scroller{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;text-align:left}[data-v-2b35f511] .cm-content,[data-v-2b35f511] .cm-line{text-align:left!important}[data-v-2b35f511] .cm-focused{outline:none}.code-exercise[data-v-50ad1c7a]{display:flex;flex-direction:column;gap:20px}.editor-section[data-v-50ad1c7a]{border:1px solid #ddd;border-radius:4px;overflow:hidden}.editor-header[data-v-50ad1c7a],.output-header[data-v-50ad1c7a]{background:#f5f5f5;padding:10px 15px;border-bottom:1px solid #ddd;font-weight:500;display:flex;justify-content:space-between;align-items:center}.editor-actions[data-v-50ad1c7a]{display:flex;gap:8px;align-items:center}.format-button[data-v-50ad1c7a],.reset-button[data-v-50ad1c7a]{background:none;border:1px solid #999;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px;color:#666;transition:all .2s}.format-button[data-v-50ad1c7a]:hover:not(:disabled),.reset-button[data-v-50ad1c7a]:hover{background:#f0f0f0;border-color:#666}.format-button[data-v-50ad1c7a]:disabled{opacity:.6;cursor:not-allowed}.format-button[data-v-50ad1c7a]{border-color:#2196f3;color:#2196f3}.format-button[data-v-50ad1c7a]:hover:not(:disabled){background:#e3f2fd}.output-section[data-v-50ad1c7a],.expected-section[data-v-50ad1c7a]{border:1px solid #ddd;border-radius:4px;overflow:hidden}.output-content[data-v-50ad1c7a]{padding:15px;background:#fafafa;min-height:100px;max-height:300px;overflow-y:auto;text-align:left}.output-content pre[data-v-50ad1c7a]{margin:0;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;white-space:pre-wrap;text-align:left}.error-output[data-v-50ad1c7a]{color:#d32f2f}.error-output pre[data-v-50ad1c7a]{margin-top:10px;font-size:12px;color:#666}.status[data-v-50ad1c7a]{font-weight:700;font-size:18px}.status.success[data-v-50ad1c7a]{color:#4caf50}.status.error[data-v-50ad1c7a]{color:#f44336}.validation-result[data-v-50ad1c7a]{margin-top:10px}.validation-message[data-v-50ad1c7a]{padding:12px;border-radius:4px;font-weight:500}.validation-message.success[data-v-50ad1c7a]{background:#e8f5e9;color:#2e7d32;border:1px solid #4caf50}.validation-message.error[data-v-50ad1c7a]{background:#ffebee;color:#c62828;border:1px solid #f44336}.run-button[data-v-50ad1c7a]{background:#2196f3;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:16px;font-weight:500}.run-button[data-v-50ad1c7a]:hover:not(:disabled){background:#1976d2}.run-button[data-v-50ad1c7a]:disabled{opacity:.6;cursor:not-allowed}.validate-button[data-v-50ad1c7a]{background:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:16px;font-weight:500}.validate-button[data-v-50ad1c7a]:hover:not(:disabled){background:#388e3c}.validate-button[data-v-50ad1c7a]:disabled{opacity:.6;cursor:not-allowed}.multiple-choice[data-v-de1594f9]{padding:20px 0}.choices-container[data-v-de1594f9]{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.choice-item[data-v-de1594f9]{display:flex;align-items:center;padding:16px 20px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.choice-item[data-v-de1594f9]:hover:not(.correct):not(.incorrect){border-color:#2196f3;background:#f5f9ff}.choice-item.selected[data-v-de1594f9]:not(.correct):not(.incorrect){border-color:#2196f3;background:#e3f2fd}.choice-item.correct[data-v-de1594f9]{border-color:#4caf50;background:#e8f5e9}.choice-item.incorrect[data-v-de1594f9]{border-color:#f44336;background:#ffebee}.choice-letter[data-v-de1594f9]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f5f5f5;border-radius:50%;font-weight:600;margin-right:16px;flex-shrink:0}.choice-item.selected .choice-letter[data-v-de1594f9]{background:#2196f3;color:#fff}.choice-item.correct .choice-letter[data-v-de1594f9]{background:#4caf50;color:#fff}.choice-item.incorrect .choice-letter[data-v-de1594f9]{background:#f44336;color:#fff}.choice-text[data-v-de1594f9]{flex:1;font-size:16px;line-height:1.5}.choice-icon[data-v-de1594f9]{position:absolute;right:20px;font-size:24px;font-weight:700}.choice-item.correct .choice-icon[data-v-de1594f9]{color:#4caf50}.choice-item.incorrect .choice-icon[data-v-de1594f9]{color:#f44336}.explanation-box[data-v-de1594f9]{background:#f5f9ff;border:1px solid #2196f3;border-radius:8px;padding:20px;margin-top:20px}.explanation-box h4[data-v-de1594f9]{margin:0 0 10px;color:#1976d2;font-size:16px}.explanation-box p[data-v-de1594f9]{margin:0;color:#333;line-height:1.6}.check-button[data-v-de1594f9]{background:#2196f3;color:#fff;border:none;padding:10px 24px;border-radius:4px;cursor:pointer;font-size:16px;font-weight:500}.check-button[data-v-de1594f9]:hover:not(:disabled){background:#1976d2}.check-button[data-v-de1594f9]:disabled{opacity:.6;cursor:not-allowed}.try-again-button[data-v-de1594f9]{background:#ff9800;color:#fff;border:none;padding:10px 24px;border-radius:4px;cursor:pointer;font-size:16px;font-weight:500}.try-again-button[data-v-de1594f9]:hover{background:#f57c00}.explanation-lesson[data-v-6cdc3e1e]{padding:20px 0}.lesson-title[data-v-6cdc3e1e]{color:#333;margin-bottom:20px;font-size:24px}.lesson-content[data-v-6cdc3e1e]{color:#444;line-height:1.8;font-size:16px;text-align:left}.lesson-content[data-v-6cdc3e1e] h1,.lesson-content[data-v-6cdc3e1e] h2,.lesson-content[data-v-6cdc3e1e] h3,.lesson-content[data-v-6cdc3e1e] h4{margin-top:30px;margin-bottom:15px;color:#333}.lesson-content[data-v-6cdc3e1e] p{margin-bottom:15px}.lesson-content[data-v-6cdc3e1e] code{background:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px}.lesson-content[data-v-6cdc3e1e] pre{background:#f8f8f8;border:1px solid #e0e0e0;border-radius:4px;padding:15px;overflow-x:auto;margin:20px 0}.lesson-content[data-v-6cdc3e1e] ul,.lesson-content[data-v-6cdc3e1e] ol{margin-bottom:15px;padding-left:30px}.lesson-content[data-v-6cdc3e1e] li{margin-bottom:8px}.code-example[data-v-6cdc3e1e]{margin:30px 0;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.example-header[data-v-6cdc3e1e]{background:#f5f5f5;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e0e0}.example-header span[data-v-6cdc3e1e]{font-weight:500;color:#666}.copy-button[data-v-6cdc3e1e]{background:#fff;border:1px solid #ddd;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px;color:#555;transition:all .2s ease}.copy-button[data-v-6cdc3e1e]:hover{background:#f8f8f8;border-color:#ccc}.code-block[data-v-6cdc3e1e]{margin:0;padding:20px;background:#f8f8f8;overflow-x:auto;text-align:left}.code-block code[data-v-6cdc3e1e]{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;color:#333;white-space:pre}.key-points[data-v-6cdc3e1e]{background:#e3f2fd;border-left:4px solid #2196f3;padding:20px;margin:30px 0;border-radius:4px}.key-points h4[data-v-6cdc3e1e]{margin:0 0 15px;color:#1976d2;font-size:18px}.key-points ul[data-v-6cdc3e1e]{margin:0;padding-left:25px}.key-points li[data-v-6cdc3e1e]{margin-bottom:10px;color:#333;line-height:1.6}.tutorial-engine[data-v-2a19e217]{max-width:1200px;margin:0 auto;padding:20px}.tutorial-header[data-v-2a19e217]{margin-bottom:30px;text-align:left}.tutorial-header h1[data-v-2a19e217]{color:#333;margin-bottom:10px}.tutorial-description[data-v-2a19e217]{color:#666;font-size:18px;line-height:1.6;max-width:800px}.module-container[data-v-2a19e217]{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:30px}.module-header[data-v-2a19e217]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.module-header h2[data-v-2a19e217]{margin:0;color:#444}.progress-indicator[data-v-2a19e217]{color:#666;font-size:14px;font-weight:500}.lesson-container[data-v-2a19e217]{margin-bottom:40px}.navigation-controls[data-v-2a19e217]{display:flex;justify-content:space-between;margin-top:40px;padding-top:30px;border-top:1px solid #e0e0e0}.nav-button[data-v-2a19e217]{padding:12px 24px;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease}.nav-button.prev[data-v-2a19e217]{background:#f5f5f5;color:#333}.nav-button.next[data-v-2a19e217]{background:#2196f3;color:#fff}.nav-button[data-v-2a19e217]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 2px 8px #00000026}.nav-button.prev[data-v-2a19e217]:hover:not(:disabled){background:#e8e8e8}.nav-button.next[data-v-2a19e217]:hover:not(:disabled){background:#1976d2}.nav-button[data-v-2a19e217]:disabled{opacity:.5;cursor:not-allowed}.tutorial-view[data-v-4b1bb985]{height:100vh;display:flex;flex-direction:column;background:#f5f5f5}.tutorial-nav[data-v-4b1bb985]{background:#fff;border-bottom:1px solid #e0e0e0;padding:16px 24px}.back-link[data-v-4b1bb985]{color:#2196f3;text-decoration:none;font-size:16px;display:inline-flex;align-items:center}.back-link[data-v-4b1bb985]:hover{text-decoration:underline}.tutorial-layout[data-v-4b1bb985]{flex:1;display:flex;overflow:hidden}.sidebar[data-v-4b1bb985]{width:300px;background:#fff;border-right:1px solid #e0e0e0;overflow-y:auto}.modules-list[data-v-4b1bb985]{padding:20px}.modules-list h3[data-v-4b1bb985]{margin:0 0 20px;color:#333;font-size:20px}.module-item[data-v-4b1bb985]{margin-bottom:16px}.module-header[data-v-4b1bb985]{display:flex;align-items:center;padding:12px 16px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease}.module-header[data-v-4b1bb985]:hover{background:#f0f0f0;border-color:#2196f3}.module-item.active .module-header[data-v-4b1bb985]{background:#e3f2fd;border-color:#2196f3}.module-number[data-v-4b1bb985]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#e0e0e0;border-radius:50%;font-weight:600;font-size:14px;margin-right:12px;flex-shrink:0}.module-item.active .module-number[data-v-4b1bb985]{background:#2196f3;color:#fff}.module-title[data-v-4b1bb985]{flex:1;color:#333;font-weight:500}.module-progress[data-v-4b1bb985]{font-size:12px;color:#666;font-weight:600}.tutorial-content[data-v-4b1bb985]{flex:1;overflow-y:auto;padding:40px}@media (max-width: 768px){.tutorial-layout[data-v-4b1bb985]{flex-direction:column}.sidebar[data-v-4b1bb985]{width:100%;border-right:none;border-bottom:1px solid #e0e0e0;max-height:200px}.tutorial-content[data-v-4b1bb985]{padding:20px}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{margin:0;padding:0;text-align:left}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#f5f5f5;color:#333;line-height:1.6}#app{min-height:100vh}a{color:#2196f3;text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}
