: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;display:flex;place-items:center;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}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-gradient-start: #1a1a2e;--bg-gradient-end: #0f0f1d;--card-bg-color: rgba(22, 33, 62, .8);--text-color-light: #e0e0e0;--text-color-medium: #b0b0b0;--primary-accent: #6a6aff;--secondary-accent: #a0a0ff;--button-bg: #4a4aed;--button-hover-bg: #5a5ae5;--feedback-button-bg: #28a745;--feedback-button-hover-bg: #218838;--border-color: #3f3f6f;--shadow-color: rgba(0, 0, 0, .5);--code-bg: rgba(45, 45, 60, .6);--code-text: #f8f8f2;--inline-code-bg: rgba(70, 70, 90, .6);--github-color: #ffffff;--github-hover-color: #92b8ff}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);color:var(--text-color-light);display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;box-sizing:border-box;overflow-y:auto}.App{text-align:center;width:100%;max-width:950px;background-color:var(--card-bg-color);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 15px 40px var(--shadow-color);padding:50px;margin:20px auto;box-sizing:border-box;position:relative;min-height:fit-content}.App-header{margin-bottom:40px}.App-header h1{color:var(--primary-accent);font-size:3.5em;margin-bottom:15px;text-shadow:0 0 15px rgba(106,106,255,.6);letter-spacing:-.03em}.App-header p{color:var(--text-color-medium);font-size:1.25em;line-height:1.6;max-width:700px;margin:0 auto}.heart-icon{display:inline-block;font-size:1.2em;margin-right:.2em;background:linear-gradient(to right,#ff69b4,#c779d0,#6a5acd);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.github-link-container{margin-top:25px;margin-bottom:40px}.github-link{display:inline-flex;align-items:center;gap:10px;background-color:var(--border-color);color:var(--github-color);padding:12px 25px;border-radius:8px;text-decoration:none;font-size:1.1em;font-weight:600;transition:background-color .3s ease,transform .2s ease,box-shadow .3s ease;box-shadow:0 4px 10px #0000004d}.github-link:hover{background-color:#555;transform:translateY(-3px);box-shadow:0 6px 15px #0006;color:var(--github-hover-color)}.github-icon{fill:var(--github-color);width:24px;height:24px;transition:fill .3s ease}.github-link:hover .github-icon{fill:var(--github-hover-color)}.preferences-section,.lesson-output,.feedback-section{background-color:#ffffff0d;border-radius:15px;padding:35px;margin-top:35px;box-shadow:0 5px 25px #0006;border:1px solid var(--border-color)}.preferences-section h2,.lesson-output h2,.feedback-section h3{color:var(--secondary-accent);margin-top:0;font-size:2.2em;margin-bottom:30px;font-weight:700}.input-group{margin-bottom:25px;text-align:left}.input-group label{display:block;margin-bottom:12px;font-weight:600;color:var(--text-color-light);font-size:1.1em}.input-group select{width:100%;padding:15px 20px;border-radius:10px;border:1px solid var(--border-color);background-color:#2d2d3ccc;color:var(--text-color-light);font-size:1.1em;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e0e0e0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 20px center;background-size:22px;cursor:pointer;transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease}.input-group select:focus{outline:none;border-color:var(--primary-accent);box-shadow:0 0 0 5px #6a6aff4d;background-color:#2d2d3c}button{background:linear-gradient(45deg,var(--button-bg) 0%,var(--primary-accent) 100%);color:#fff;padding:15px 35px;border:none;border-radius:10px;font-size:1.3em;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:35px;box-shadow:0 6px 15px var(--shadow-color);letter-spacing:.05em}button:hover:not(:disabled){background:linear-gradient(45deg,var(--primary-accent) 0%,var(--button-hover-bg) 100%);transform:translateY(-5px) scale(1.02);box-shadow:0 10px 25px #00000080}button:disabled{background:#333;cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.status-message{margin-top:30px;font-style:italic;color:var(--text-color-medium);font-size:1.15em}.lesson-output{text-align:left;margin-top:35px;line-height:1.8;font-size:1.05em}.lesson-output .markdown-content{padding:25px;background-color:var(--code-bg);border-radius:12px;border:1px solid rgba(255,255,255,.1);white-space:pre-wrap;word-wrap:break-word;box-shadow:inset 0 0 10px #0003}.lesson-output .markdown-content h1,.lesson-output .markdown-content h2,.lesson-output .markdown-content h3,.lesson-output .markdown-content h4,.lesson-output .markdown-content h5,.lesson-output .markdown-content h6{color:var(--primary-accent);margin-top:2em;margin-bottom:.9em;font-weight:700;line-height:1.4;letter-spacing:-.02em}.lesson-output .markdown-content h1{font-size:2em}.lesson-output .markdown-content h2{font-size:1.7em}.lesson-output .markdown-content h3{font-size:1.5em}.lesson-output .markdown-content p{margin-bottom:1.3em}.lesson-output .markdown-content ul,.lesson-output .markdown-content ol{margin-left:30px;margin-bottom:1.3em;padding-left:0}.lesson-output .markdown-content li{margin-bottom:.7em}.lesson-output .markdown-content strong{color:var(--text-color-light);font-weight:700}.lesson-output .markdown-content code{background-color:var(--inline-code-bg);padding:4px 7px;border-radius:6px;font-family:Fira Code,Consolas,Monaco,Courier New,monospace;font-size:.9em;color:#8be9fd}.lesson-output .markdown-content pre{background-color:var(--code-bg);padding:25px;border-radius:12px;overflow-x:auto;margin-bottom:1.8em;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 0 15px #0000004d}.lesson-output .markdown-content pre code{display:block;background-color:transparent;padding:0;font-size:1em;color:var(--code-text)}.feedback-section{margin-top:40px;text-align:center;display:flex;justify-content:center;gap:25px}.feedback-section button{margin-top:0;padding:14px 30px;font-size:1.15em;background:linear-gradient(45deg,var(--feedback-button-bg) 0%,#39c05e 100%);border:1px solid var(--feedback-button-bg);box-shadow:0 4px 10px #0000004d;color:#fff}.feedback-section button:hover:not(:disabled){background:linear-gradient(45deg,#39c05e 0%,var(--feedback-button-hover-bg) 100%);border-color:var(--feedback-button-hover-bg);transform:translateY(-3px) scale(1.02);box-shadow:0 6px 15px #0006}
