:root{--primary-dark: #1a365d;--primary: #2c5282;--primary-light: #4299e1;--secondary-dark: #234e52;--secondary: #319795;--secondary-light: #4fd1c5;--accent-dark: #975a16;--accent: #d69e2e;--accent-light: #f6e05e;--success: #38a169;--success-light: #c6f6d5;--warning: #dd6b20;--warning-light: #feebc8;--danger: #e53e3e;--danger-light: #fed7d7;--info: #3182ce;--info-light: #bee3f8;--gray-50: #f7fafc;--gray-100: #edf2f7;--gray-200: #e2e8f0;--gray-300: #cbd5e0;--gray-400: #a0aec0;--gray-500: #718096;--gray-600: #4a5568;--gray-700: #2d3748;--gray-800: #1a202c;--gray-900: #171923;--font-heading: "Merriweather", Georgia, serif;--font-body: "Open Sans", -apple-system, BlinkMacSystemFont, sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{margin:0;padding:0;height:100%}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--gray-700);background:url(/images/app-background.png) center top / cover no-repeat fixed;min-height:100vh}body:before{content:"";position:fixed;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.8) 15%,rgba(255,255,255,.4) 25%,transparent 35%),linear-gradient(270deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.8) 15%,rgba(255,255,255,.4) 25%,transparent 35%);pointer-events:none;z-index:0}app-root{display:block;background:transparent;position:relative;z-index:1}h1,h2,h3,h4,h5,h6{font-family:Merriweather,Georgia,serif;margin-top:0}a{color:#3182ce;text-decoration:none}a:hover{text-decoration:underline}.hidden{display:none!important}.loading{text-align:center;padding:2rem;color:#718096}.error{background:#fed7d7;color:#c53030;padding:1rem;border-radius:8px;margin:1rem 0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#3182ce;color:#fff}.btn-primary:hover:not(:disabled){background:#2c5282}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover:not(:disabled){background:#cbd5e0}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#2d3748}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:2px solid #e2e8f0;border-radius:6px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce33}.card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.page-container{max-width:1200px;margin:0 auto;padding:2rem}.page-header{margin-bottom:2rem}.page-header h1{margin:0;color:#1a365d;text-shadow:0 0 5px #fff,0 0 10px #fff,0 0 15px #fff,0 0 20px #fff,0 0 5px #fff,0 0 10px #fff,0 0 15px #fff,0 0 20px #fff,0 0 30px #fff,0 0 40px #fff,0 0 60px #fff,0 0 80px #fff,0 0 30px #fff,0 0 40px #fff,0 0 60px #fff,0 0 80px #fff,0 0 100px #fff,0 0 120px #fff,0 0 150px #fff}.page-header p,.page-header .welcome-message{text-shadow:0 0 5px #fff,0 0 10px #fff,0 0 15px #fff,0 0 20px #fff,0 0 5px #fff,0 0 10px #fff,0 0 15px #fff,0 0 20px #fff,0 0 30px #fff,0 0 40px #fff,0 0 60px #fff,0 0 80px #fff,0 0 100px #fff,0 0 120px #fff}.placeholder-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 80px);text-align:center;color:#4a5568}.placeholder-page h1{color:#2d3748;margin-bottom:.5rem}.placeholder-page p{color:#718096}.lesson-content{line-height:1.8;color:#2d3748}.lesson-content h1,.lesson-content h2,.lesson-content h3,.lesson-content h4{color:#1a365d;margin-top:1.5rem;margin-bottom:.75rem}.lesson-content h1:first-child,.lesson-content h2:first-child,.lesson-content h3:first-child,.lesson-content h4:first-child{margin-top:0}.lesson-content p{margin-bottom:1rem}.lesson-content ul,.lesson-content ol{margin-top:1rem;margin-bottom:1rem;margin-left:0;padding-left:2.5rem;list-style-position:outside}.lesson-content ul{list-style-type:disc}.lesson-content ul ul{list-style-type:circle;margin-top:.5rem;margin-bottom:.5rem}.lesson-content ol{list-style-type:decimal}.lesson-content li{margin-bottom:.5rem;display:list-item;padding-left:.5rem}.lesson-content code{background:#edf2f7;padding:2px 6px;border-radius:4px;font-size:.9em;font-family:Consolas,Monaco,monospace}.lesson-content pre{background:#1a202c;color:#e2e8f0;padding:1rem 1.5rem;border-radius:8px;overflow-x:auto;margin:1rem 0}.lesson-content pre code{background:transparent;padding:0;color:inherit}.lesson-content strong{color:#1a365d;font-weight:600}.lesson-content blockquote{border-left:4px solid #3182ce;padding-left:1rem;margin:1rem 0;color:#4a5568;font-style:italic}.lesson-content table{width:100%;border-collapse:collapse;margin:1rem 0}.lesson-content th,.lesson-content td{border:1px solid #e2e8f0;padding:.75rem;text-align:left}.lesson-content th{background:#f7fafc;font-weight:600}.lesson-content hr{border:none;border-top:1px solid #e2e8f0;margin:1.5rem 0}.help-content{line-height:1.6;color:#2d3748}.help-content h3,.help-content h4{color:#1a365d;margin-top:1rem;margin-bottom:.5rem}.help-content h3:first-child,.help-content h4:first-child{margin-top:0}.help-content p{margin-bottom:1rem}.help-content ul,.help-content ol{margin:.5rem 0 1rem;margin-left:0;padding-left:2.5rem;list-style-position:outside}.help-content ul{list-style-type:disc}.help-content ol{list-style-type:decimal}.help-content li{margin-bottom:.25rem;display:list-item}.help-content strong{color:#1a365d}.help-content code{background:#edf2f7;padding:2px 6px;border-radius:4px;font-size:.9em}.help-content pre{background:#1a202c;color:#e2e8f0;padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0}.help-content pre code{background:transparent;padding:0;color:inherit}
