@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700;800&display=swap";.theme-selector{position:relative}.theme-toggle-btn{background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;font-family:JetBrains Mono,monospace;font-size:.75rem;cursor:pointer;transition:all .15s;letter-spacing:1px}.theme-toggle-btn:hover{background:var(--text-primary);color:var(--bg-primary)}.theme-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:250px;background:var(--bg-secondary);border:2px solid var(--border);padding:1rem;z-index:1000;box-shadow:0 4px 12px #0000004d}.theme-section{margin-bottom:1rem}.theme-section:last-of-type{margin-bottom:1.5rem}.theme-section-label{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem;letter-spacing:1px}.theme-option{width:100%;background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;font-family:JetBrains Mono,monospace;font-size:.75rem;cursor:pointer;transition:all .15s;text-align:left;margin-bottom:.5rem;letter-spacing:1px}.theme-option:hover{background:var(--accent);color:var(--bg-primary);transform:translate(4px)}.theme-option.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--accent)}.theme-close-btn{width:100%;background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;font-family:JetBrains Mono,monospace;font-size:.75rem;cursor:pointer;transition:all .15s;letter-spacing:1px}.theme-close-btn:hover{background:var(--text-primary);color:var(--bg-primary)}:root{--bg-primary: #000000;--bg-secondary: #0a0a0a;--text-primary: #00FF41;--text-secondary: #00cc00;--accent: #33ff33;--border: #00FF41;--muted: #cccccc;--error: #ff0000}.app{min-height:100vh;background-color:var(--bg-primary)}.header{padding:24px 0;border-bottom:1px solid var(--border);background-color:var(--bg-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.header .container{display:flex;justify-content:space-between;align-items:center}.header-top{display:flex;gap:1rem;align-items:center}.header-bottom{display:flex;gap:.75rem;align-items:center}@media (max-width: 768px){.header .container{flex-direction:column;align-items:stretch;gap:.75rem}.header-top{justify-content:space-between}.header-bottom{font-size:.75rem}}.logo{font-weight:800;font-size:16px;letter-spacing:2px;color:var(--text-primary)}.status{font-size:12px;color:var(--muted)}.main{padding:80px 0}.terminal-prompt{color:var(--text-primary);font-size:14px;margin-bottom:16px}.title{font-size:56px;font-weight:800;line-height:1.2;margin-bottom:16px;letter-spacing:-1px}.subtitle{font-size:18px;color:var(--muted);margin-bottom:48px}.form{margin-bottom:48px}.input-group{display:flex;align-items:center;gap:0;margin-bottom:24px}.captcha-container{display:flex;justify-content:center;padding:16px 0}.prompt{color:var(--text-primary);font-size:18px;margin-right:12px}.url-input{flex:1;padding:14px 20px;font-size:14px;border:2px solid var(--border);background-color:var(--bg-secondary);color:var(--text-primary);font-family:JetBrains Mono,monospace;border-right:none}.url-input:focus{outline:none;background-color:var(--bg-primary)}.url-input::placeholder{color:var(--text-secondary);opacity:.5}.url-input:disabled{opacity:.5}.btn-primary{background-color:var(--text-primary);color:var(--bg-primary);padding:14px 32px;border:2px solid var(--border);font-weight:700;font-size:14px;cursor:pointer;transition:opacity .1s;font-family:JetBrains Mono,monospace;letter-spacing:1px}.error-box,.loading-box{border:2px solid var(--error);padding:24px;background-color:#ff44441a;margin-bottom:32px}.loading-box{border-color:var(--text-primary);background-color:#00ff410d}.error-header,.loading-header{font-size:12px;color:var(--error);margin-bottom:12px;letter-spacing:2px}.loading-header{color:var(--text-primary)}.error-message,.loading-message{font-size:14px;line-height:1.8}.loading-message{color:var(--muted)}.cursor{color:var(--text-primary);animation:blink 1s infinite}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.quiz-container{margin-top:48px}.quiz-header{margin-bottom:32px}.section-label{font-size:12px;color:var(--text-primary);margin-bottom:16px;letter-spacing:2px}.quiz-meta{display:flex;gap:32px;font-size:13px;color:var(--text-secondary)}.questions{display:flex;flex-direction:column;gap:24px;margin-bottom:32px}.question-card{border:2px solid rgba(0,255,65,.3);padding:24px;background-color:#00ff410d}.question-header{display:flex;gap:12px;margin-bottom:20px}.question-number{color:var(--text-primary);font-weight:700;flex-shrink:0}.question-text{font-size:16px;line-height:1.6}.options{display:flex;flex-direction:column;gap:12px}.option{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border);background-color:var(--bg-secondary);cursor:pointer;transition:all .15s}.option.selected{border-color:var(--accent);background-color:#00ff411a}.option.correct{border-color:var(--accent);background-color:#00ff4126}.option.incorrect{border-color:var(--error);background-color:#ff44441a}.option-letter{color:var(--text-primary);font-weight:700;min-width:20px}.option-text{font-size:14px}.explanation{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.explanation-label{color:var(--text-primary);font-size:12px;margin-bottom:8px}.explanation-text{font-size:13px;color:var(--muted);line-height:1.7}.btn-submit,.btn-reset{width:100%;background-color:var(--text-primary);color:var(--bg-primary);padding:16px 32px;border:2px solid var(--border);font-weight:700;font-size:14px;cursor:pointer;transition:opacity .1s;font-family:JetBrains Mono,monospace;letter-spacing:1px}.btn-submit:hover:not(:disabled),.btn-reset:hover{opacity:.8}.btn-submit:disabled{opacity:.3;cursor:not-allowed}.results-box{border:2px solid var(--text-primary);padding:32px;background-color:#00ff411a;text-align:center}.results-header{font-size:12px;color:var(--text-primary);margin-bottom:16px;letter-spacing:2px}.score{font-size:32px;font-weight:800;margin-bottom:24px;color:var(--text-primary)}.auth-section{margin-bottom:48px;background:var(--bg-secondary);border:1px solid var(--border);padding:2rem}.auth-description{color:var(--muted);line-height:1.6;margin:1rem 0 1.5rem}.btn-google{display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;color:#1a1a1a;padding:14px 32px;border:2px solid #fff;font-weight:700;font-size:14px;cursor:pointer;transition:all .15s;font-family:JetBrains Mono,monospace;letter-spacing:1px;width:100%}.btn-google:hover{opacity:.9;transform:translateY(-2px)}.features-section{margin-top:48px}.features-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.feature-item{display:flex;gap:1rem;background:var(--bg-secondary);border:1px solid var(--border);padding:1.5rem;transition:all .15s}.feature-item:hover{border-color:var(--accent);transform:translate(4px)}.feature-number{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;color:var(--text-primary);flex-shrink:0}.feature-content h3{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:600;color:#fff;margin:0 0 .5rem}.feature-content p{color:var(--muted);font-size:.875rem;line-height:1.6;margin:0}@media (max-width: 768px){.title{font-size:36px}.input-group{flex-direction:column}.url-input{width:100%;border-right:2px solid var(--border)}.btn-primary{width:100%}.quiz-meta{flex-direction:column;gap:8px}}.dashboard{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}.btn-new-guide{background:transparent;border:2px solid var(--accent-primary);color:var(--accent-primary);padding:.5rem 1rem;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .15s;text-shadow:0 0 10px var(--accent-glow)}.btn-new-guide:hover{background:#00ff4133;box-shadow:0 0 20px var(--accent-glow);transform:scale(1.05)}.btn-settings{background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;font-family:JetBrains Mono,monospace;font-size:.875rem;cursor:pointer;transition:all .15s}.btn-settings:hover{border-color:var(--accent);color:var(--accent)}@media (max-width: 768px){.btn-logout,.btn-settings,.btn-new-guide{padding:.35rem .75rem;font-size:.75rem}}.btn-retry{background:var(--text-primary);border:none;color:var(--bg-primary);padding:.75rem 1.5rem;font-family:JetBrains Mono,monospace;font-size:.875rem;cursor:pointer;margin-top:1rem;transition:all .15s}.btn-retry:hover{opacity:.8}.empty-state{background:var(--bg-secondary);border:1px solid var(--border);padding:3rem 2rem;text-align:center;margin-top:2rem}.empty-header{font-family:JetBrains Mono,monospace;color:var(--text-primary);font-size:.875rem;margin-bottom:1rem}.empty-message{color:var(--muted);line-height:1.6}.empty-message p{margin:.5rem 0}.guides-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:2rem}.guide-card{background:var(--bg-secondary);border:1px solid var(--border);padding:1.5rem;cursor:pointer;transition:all .15s}.guide-card:hover{border-color:var(--accent);transform:translateY(-2px)}.guide-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.5rem}.guide-status{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--accent)}.guide-meta{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary)}.guide-title{font-family:JetBrains Mono,monospace;font-size:1.125rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary);line-height:1.4}.guide-description{color:var(--muted);font-size:.875rem;line-height:1.6;margin:0 0 1rem}.guide-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);padding:.25rem .5rem;border:1px solid var(--border)}.guide-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.guide-date{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary)}.guide-action{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--accent)}.guide-card.processing{opacity:.85;cursor:default}.guide-card.processing:hover{border-color:var(--border);transform:none}.status-processing{color:#0f0;animation:pulse 2s ease-in-out infinite}.processing-indicator{margin:1rem 0}.processing-bar{width:100%;height:6px;background:#00000080;border:1px solid rgba(0,255,0,.3);border-radius:2px;overflow:hidden;margin-bottom:.5rem}.processing-bar-fill{height:100%;background:linear-gradient(90deg,#0f0,#0c0);animation:processing 2s linear infinite}@keyframes processing{0%{width:30%;transform:translate(-100%)}50%{width:70%;transform:translate(50%)}to{width:30%;transform:translate(200%)}}.processing-text{font-family:JetBrains Mono,monospace;font-size:.75rem;color:#0f0c}.processing-status{display:flex;align-items:center;gap:.5rem;color:#0f0;font-family:JetBrains Mono,monospace;font-size:.875rem}.pulse-dot{width:8px;height:8px;background:#0f0;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.btn-delete-guide{background:transparent;border:1px solid rgba(255,0,0,.5);color:#f00c;padding:.25rem .5rem;font-family:JetBrains Mono,monospace;font-size:.75rem;cursor:pointer;transition:all .15s;flex-shrink:0}.btn-delete-guide:hover{background:#ff00001a;border-color:#f00c;color:red;transform:scale(1.05)}.image-upload-container{display:flex;flex-direction:column;gap:20px;padding:30px;background:#000;border:2px solid #00ff41;border-radius:0;font-family:Courier New,monospace;max-width:1000px;margin:0 auto}.upload-header{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#00ff411a;border:1px solid #00ff41}.terminal-prompt{color:#00ff41;font-size:16px;font-weight:700;text-shadow:0 0 10px rgba(0,255,65,.8)}.upload-status{color:#00d9ff;font-size:14px}.drop-zone{min-height:300px;border:3px dashed #00ff41;background:#00ff410d;display:flex;align-items:center;justify-content:center;transition:all .3s ease;cursor:pointer;position:relative}.drop-zone.dragging{border-color:#00d9ff;background:#00d9ff26;box-shadow:inset 0 0 30px #00d9ff4d}.drop-zone.disabled{border-color:#666;background:#6464640d;cursor:not-allowed;opacity:.6}.drop-zone-content{text-align:center;padding:30px}.drop-icon .ascii-box{color:#00ff41;font-size:14px;line-height:1.4;margin:0;text-shadow:0 0 10px rgba(0,255,65,.6)}.drop-text{color:#00ff41;margin-top:20px;line-height:1.8}.drop-text p{margin:5px 0;font-size:14px}.browse-button{margin-top:20px;padding:12px 30px;background:transparent;border:2px solid #00ff41;color:#00ff41;font-family:Courier New,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;text-shadow:0 0 5px rgba(0,255,65,.8)}.browse-button:hover:not(:disabled){background:#00ff4133;box-shadow:0 0 20px #00ff4180;transform:scale(1.05)}.browse-button:disabled{opacity:.5;cursor:not-allowed}.preview-grid{border:1px solid #00ff41;padding:20px;background:#00ff410d}.preview-header{color:#00ff41;font-size:16px;font-weight:700;margin-bottom:15px;text-shadow:0 0 10px rgba(0,255,65,.8)}.preview-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.preview-item{display:flex;flex-direction:column;gap:8px}.preview-box{position:relative;width:100%;aspect-ratio:1;border:2px solid #00ff41;overflow:hidden;background:#000}.preview-box img{width:100%;height:100%;object-fit:cover;opacity:.9}.preview-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(0,255,65,.3) 0%,transparent 50%);display:flex;flex-direction:column;justify-content:space-between;padding:10px;opacity:0;transition:opacity .2s ease}.preview-box:hover .preview-overlay{opacity:1}.preview-label{color:#00ff41;font-size:12px;font-weight:700;text-shadow:0 0 10px rgba(0,255,65,1);background:#000000b3;padding:5px 10px;align-self:flex-start}.remove-button{background:#f00c;border:1px solid #ff0000;color:#fff;padding:5px 15px;font-family:Courier New,monospace;font-size:12px;font-weight:700;cursor:pointer;align-self:flex-end;transition:all .2s ease}.remove-button:hover:not(:disabled){background:red;box-shadow:0 0 15px #f00c}.remove-button:disabled{opacity:.5;cursor:not-allowed}.preview-filename{color:#00d9ff;font-size:12px;text-align:center;word-break:break-all}.preview-size{color:#888;font-size:11px;text-align:center;display:flex;align-items:center;justify-content:center;gap:5px}.compression-badge{color:#00ff41;font-size:10px;font-weight:700;background:#00ff4126;padding:2px 5px;border-radius:3px;border:1px solid rgba(0,255,65,.3)}.upload-error{padding:15px;background:#ff00001a;border:2px solid #ff0000;color:red;text-shadow:0 0 10px rgba(255,0,0,.8)}.upload-error pre{margin:0;font-family:Courier New,monospace;font-size:14px}.upload-actions{display:flex;gap:15px;justify-content:center;padding-top:10px}.upload-button{padding:15px 40px;background:transparent;border:3px solid #00ff41;color:#00ff41;font-family:Courier New,monospace;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;text-shadow:0 0 10px rgba(0,255,65,.8);box-shadow:0 0 20px #00ff414d}.upload-button:hover:not(:disabled){background:#00ff4133;box-shadow:0 0 30px #00ff4199;transform:scale(1.05)}.upload-button:disabled{opacity:.6;cursor:not-allowed;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 20px #00ff414d}50%{box-shadow:0 0 30px #00ff4199}}.clear-button{padding:15px 30px;background:transparent;border:2px solid #ff6600;color:#f60;font-family:Courier New,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease}.clear-button:hover{background:#f603;box-shadow:0 0 20px #ff660080}.upload-loading{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}.loading-spinner{margin-bottom:30px}.loading-spinner pre{color:#00ff41;font-size:14px;line-height:1.4;margin:0;text-shadow:0 0 20px rgba(0,255,65,1);animation:spinnerGlow 2s ease-in-out infinite}@keyframes spinnerGlow{0%,to{text-shadow:0 0 20px rgba(0,255,65,.8)}50%{text-shadow:0 0 40px rgba(0,255,65,1)}}.loading-text{color:#00d9ff;text-align:center;line-height:2}.loading-text p{margin:5px 0;font-size:14px;animation:fadeIn .5s ease-in-out}.loading-text p:nth-child(1){animation-delay:0s}.loading-text p:nth-child(2){animation-delay:.3s}.loading-text p:nth-child(3){animation-delay:.6s}.loading-text p:nth-child(4){animation-delay:.9s}@media (max-width: 768px){.image-upload-container{padding:15px}.preview-items{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.upload-actions{flex-direction:column}.upload-button,.clear-button{width:100%}}.guide-preview{background:#00ff0008;border:2px solid #00ff00;border-radius:4px;padding:2rem;margin:2rem 0;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,255,0,.2)}.status-indicator{display:flex;align-items:center;gap:.5rem}.pulse-dot{width:12px;height:12px;background:#0f0;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.status-text{color:#0f0;font-family:Courier New,monospace;font-size:.9rem;font-weight:700}.preview-title{color:#0f0;font-family:Courier New,monospace;font-size:1rem;font-weight:700;letter-spacing:1px}.preview-topic{margin-bottom:2rem}.topic-label{color:#00ff00b3;font-family:Courier New,monospace;font-size:.85rem;margin-bottom:.5rem}.topic-text{color:#0f0;font-family:Courier New,monospace;font-size:1.5rem;font-weight:700;margin:0;text-shadow:0 0 10px rgba(0,255,0,.3)}.progress-section{margin-bottom:2rem}.progress-bar-container{width:100%;height:24px;background:#00000080;border:1px solid rgba(0,255,0,.3);border-radius:2px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#0f0,#0c0);transition:width .5s ease-out;position:relative;overflow:hidden}.progress-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.progress-percentage{color:#0f0;font-family:Courier New,monospace;font-size:1.2rem;font-weight:700}.progress-label{color:#00ff00b3;font-family:Courier New,monospace;font-size:.9rem}.preview-intro{margin-bottom:2rem}.intro-label{color:#00ff00b3;font-family:Courier New,monospace;font-size:.85rem;margin-bottom:.5rem}.intro-text{color:#00ff00e6;font-family:Courier New,monospace;font-size:.95rem;line-height:1.6;margin:0;white-space:pre-wrap}.preview-concepts{margin-bottom:2rem}.concepts-label{color:#00ff00b3;font-family:Courier New,monospace;font-size:.85rem;margin-bottom:1rem}.concepts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.concept-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#00ff000d;border:1px solid rgba(0,255,0,.2);border-radius:2px}.concept-bullet{color:#0f0;font-family:Courier New,monospace;font-size:.85rem;font-weight:700;flex-shrink:0}.concept-text{color:#00ff00e6;font-family:Courier New,monospace;font-size:.9rem}.preview-features{margin-bottom:2rem}.features-label{color:#00ff00b3;font-family:Courier New,monospace;font-size:.85rem;margin-bottom:1rem}.features-list{display:flex;flex-direction:column;gap:.5rem}.feature-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#00ff0008;border-left:2px solid rgba(0,255,0,.3)}.feature-icon{color:#0f0;font-family:Courier New,monospace;font-size:1rem;font-weight:700;flex-shrink:0}.feature-text{color:#00ff00e6;font-family:Courier New,monospace;font-size:.9rem}.preview-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(0,255,0,.2);display:flex;flex-direction:column;gap:.75rem}.time-estimate,.info-message{display:flex;align-items:center;gap:.5rem}.time-icon,.info-icon{color:#0f0;font-family:Courier New,monospace;font-size:1rem;flex-shrink:0}.time-text,.info-text{color:#0f0c;font-family:Courier New,monospace;font-size:.85rem}@media (max-width: 768px){.guide-preview{padding:1.5rem}.topic-text{font-size:1.2rem}.concepts-grid{grid-template-columns:1fr}.preview-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.new-guide-page{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:Courier New,monospace}.new-guide-page .header{background:var(--bg-secondary);border-bottom:2px solid var(--accent-primary);padding:20px 0}.new-guide-page .container{max-width:1200px;margin:0 auto;padding:0 20px}.new-guide-page .header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.new-guide-page .logo{font-size:24px;font-weight:700;color:var(--accent-primary);text-shadow:0 0 10px var(--accent-glow)}.new-guide-page .status{color:var(--accent-secondary);font-size:14px}.new-guide-page .header-bottom{display:flex;justify-content:flex-end;gap:15px}.new-guide-page .btn-back{padding:10px 20px;background:transparent;border:2px solid var(--accent-secondary);color:var(--accent-secondary);font-family:Courier New,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease}.new-guide-page .btn-back:hover:not(:disabled){background:#00d9ff1a;box-shadow:0 0 20px #00d9ff80}.new-guide-page .btn-back:disabled{opacity:.5;cursor:not-allowed}.new-guide-page .main{padding:40px 0}.new-guide-page .terminal-prompt{color:var(--accent-primary);font-size:14px;margin-bottom:10px;text-shadow:0 0 10px var(--accent-glow)}.new-guide-page .title{font-size:32px;color:var(--text-primary);margin-bottom:10px;font-weight:700;letter-spacing:2px}.new-guide-page .subtitle{color:var(--text-secondary);font-size:16px;line-height:1.6;margin-bottom:40px}.new-guide-page .upload-section{margin-bottom:40px}.new-guide-page .error-box{padding:20px;background:#ff00001a;border:2px solid #ff0000;margin-bottom:30px}.new-guide-page .error-header{color:red;font-size:16px;font-weight:700;margin-bottom:10px;text-shadow:0 0 10px rgba(255,0,0,.8)}.new-guide-page .error-message{color:red;font-size:14px;line-height:1.6;margin-bottom:15px}.new-guide-page .btn-retry{padding:10px 20px;background:transparent;border:2px solid #ff0000;color:red;font-family:Courier New,monospace;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease}.new-guide-page .btn-retry:hover{background:#f003;box-shadow:0 0 20px #ff000080}.new-guide-page .instructions-box{padding:25px;background:#00ff410d;border:2px solid var(--accent-primary);margin-top:40px}.new-guide-page .instructions-header{color:var(--accent-primary);font-size:18px;font-weight:700;margin-bottom:20px;text-shadow:0 0 10px var(--accent-glow)}.new-guide-page .instructions-content{display:flex;flex-direction:column;gap:15px}.new-guide-page .instruction-item{display:flex;align-items:flex-start;gap:15px;color:var(--text-primary);font-size:14px;line-height:1.6}.new-guide-page .instruction-item .bullet{color:var(--accent-primary);font-weight:700;flex-shrink:0}.new-guide-page .instruction-item .text{flex:1}@media (max-width: 768px){.new-guide-page .title{font-size:24px}.new-guide-page .subtitle{font-size:14px}.new-guide-page .header-top{flex-direction:column;align-items:flex-start;gap:10px}.new-guide-page .header-bottom{justify-content:flex-start}.new-guide-page .btn-back{width:100%}}.guide-detail{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}.header-actions{display:flex;gap:1rem;align-items:center}.btn-logout{background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;font-family:JetBrains Mono,monospace;font-size:.875rem;cursor:pointer;transition:all .15s}.btn-logout:hover{background:var(--text-primary);color:var(--bg-primary)}@media (max-width: 768px){.btn-logout{padding:.35rem .75rem;font-size:.75rem}}.btn-back{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:.5rem 1rem;font-family:JetBrains Mono,monospace;font-size:.875rem;cursor:pointer;margin-bottom:2rem;transition:all .15s}.btn-back:hover{border-color:var(--accent);color:var(--accent)}.guide-info{margin-bottom:3rem}.guide-stats{display:flex;gap:2rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.stat{display:flex;flex-direction:column;gap:.5rem}.stat-label{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary)}.stat-value{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-primary);display:flex;gap:.5rem;flex-wrap:wrap}.skills-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-top:1rem}.skill-badge{background:var(--bg-secondary);border:1px solid var(--border);padding:1rem;transition:all .15s;cursor:default}.skill-badge:hover{border-color:var(--accent);transform:translateY(-2px)}.skill-badge.primary{border-left:3px solid var(--accent)}.skill-badge.supporting{border-left:3px solid var(--muted)}.skill-code{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--accent);font-weight:700;margin-bottom:.5rem}.skill-name{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-primary);font-weight:500;margin-bottom:.75rem;line-height:1.4}.skill-meta{display:flex;justify-content:space-between;align-items:center;font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary)}.skill-type{text-transform:uppercase}.skill-relevance{color:var(--accent);font-weight:600}@media (max-width: 768px){.skills-grid{grid-template-columns:1fr}}.modules-list{margin-top:2rem}.module-card{background:var(--bg-secondary);border:1px solid var(--border);padding:1.5rem;margin-bottom:1rem;cursor:pointer;transition:all .15s}.module-card:hover:not(.locked){border-color:var(--accent);transform:translate(4px)}.module-card.locked{opacity:.6;cursor:not-allowed}.module-card.completed{border-color:var(--accent);background:var(--bg-secondary)}.module-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.module-number{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;color:var(--accent)}.module-status-badge{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary)}.module-card.completed .module-status-badge{color:var(--accent)}.module-title{font-family:JetBrains Mono,monospace;font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary)}.module-meta{display:flex;gap:1.5rem;font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--muted);margin-bottom:.5rem}.module-score{color:var(--accent)}.module-attempts{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary);margin-top:.5rem}.module-action{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.locked-message{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-secondary)}.action-text{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--accent)}.loading-ascii-container{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:2000}.loading-ascii-box{max-width:700px;width:100%;padding:2rem}.loading-header{border:3px solid var(--border);padding:1rem;margin-bottom:1.5rem}.loading-header .terminal-prompt{font-size:.875rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.loading-animation{border:4px solid var(--border);background:var(--bg-primary);overflow:hidden}.ascii-art{margin:0;padding:1rem;white-space:pre;font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.4;color:var(--text-primary);text-align:left}.loading-message{margin-top:1rem;padding:.75rem;border:2px solid var(--text-secondary);font-size:.875rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace;text-align:center}.loading-footer{margin-top:1.5rem;text-align:center}.loading-status{font-size:.75rem;color:var(--accent);font-family:JetBrains Mono,monospace;letter-spacing:.05em;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.loading-ascii-box{padding:1rem}.ascii-art{font-size:.5rem;padding:.5rem}.loading-header .terminal-prompt,.loading-message{font-size:.75rem}}.ascii-poster-container{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);z-index:1000;overflow-y:auto;padding:2rem}.ascii-poster-wrapper{max-width:900px;margin:0 auto}.ascii-poster-header{border:3px solid var(--border);padding:1.5rem;margin-bottom:1.5rem}.ascii-poster-title{font-size:1.75rem;font-weight:700;letter-spacing:.1em;color:var(--text-primary);margin-bottom:.5rem;text-transform:uppercase}.ascii-poster-subtitle{font-size:.875rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.ascii-poster-content{border:4px solid var(--border);padding:2rem;background:var(--bg-primary);margin-bottom:1.5rem;overflow-x:auto}.ascii-poster-content pre{margin:0;white-space:pre;font-family:JetBrains Mono,monospace;font-size:.875rem;line-height:1.6;color:var(--text-primary)}.ascii-poster-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.ascii-poster-footer{border:2px solid var(--border);padding:1rem;text-align:center}@media print{.ascii-poster-container{position:static;padding:0}.ascii-poster-actions,.ascii-poster-footer{display:none}.ascii-poster-content{border:2px solid black;page-break-inside:avoid}.ascii-poster-content pre{color:#000}}@media (max-width: 768px){.ascii-poster-container{padding:1rem}.ascii-poster-content{padding:1rem;font-size:.75rem}.ascii-poster-content pre{font-size:.65rem;line-height:1.4}.btn-action{padding:.5rem 1rem;font-size:.75rem}}.cornell-notes-container{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);z-index:1000;overflow-y:auto;padding:2rem}.cornell-notes-wrapper{max-width:1200px;margin:0 auto}.cornell-header-box{border:3px solid var(--border);padding:1.5rem;margin-bottom:1.5rem}.terminal-prompt{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem;font-family:JetBrains Mono,monospace}.cornell-main-title{font-size:1.75rem;font-weight:700;letter-spacing:.1em;color:var(--text-primary);margin-bottom:.5rem;text-transform:uppercase}.cornell-subtitle{font-size:.875rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.cornell-info-box{border:2px solid var(--border);padding:1rem;margin-bottom:1.5rem}.info-title{font-weight:700;margin-bottom:.5rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.875rem}.info-content{font-size:.875rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace;line-height:1.6}.cornell-main-layout{border:4px solid var(--border);margin-bottom:1.5rem}.cornell-document-header{border-bottom:2px solid var(--border);padding:1rem 1.5rem;background:var(--bg-secondary)}.header-line{font-size:.875rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;margin-bottom:.25rem}.cornell-grid{display:grid;grid-template-columns:30% 70%}.cornell-cues-column{border-right:2px solid var(--border);padding:1.5rem}.cornell-notes-column{padding:1.5rem}.column-title{font-weight:700;font-size:.875rem;text-align:center;border-bottom:2px solid var(--border);padding-bottom:.75rem;margin-bottom:1rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.05em}.cues-list{display:flex;flex-direction:column;gap:1.5rem}.cue-item{font-size:.875rem}.cue-question{font-weight:600;color:var(--accent);font-family:JetBrains Mono,monospace;line-height:1.6}.notes-content{display:flex;flex-direction:column;gap:1.25rem}.note-section{font-size:.875rem}.note-section-title{font-weight:700;margin-bottom:.5rem;color:var(--text-primary);font-family:JetBrains Mono,monospace}.note-section-content{color:var(--text-secondary);font-family:JetBrains Mono,monospace;line-height:1.8}.note-line{margin-bottom:.25rem}.cornell-summary{border-top:4px solid var(--border);padding:1.5rem;background:var(--bg-secondary)}.summary-title{font-weight:700;font-size:.875rem;text-align:center;margin-bottom:1rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;text-transform:uppercase}.summary-content{font-size:.875rem;line-height:1.8;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.cornell-instructions{border:2px solid var(--border);padding:1rem 1.5rem;margin-bottom:1.5rem}.instructions-title{font-weight:700;margin-bottom:.75rem;color:var(--text-primary);font-family:JetBrains Mono,monospace;font-size:.875rem}.instructions-list{font-size:.875rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace;line-height:1.8}.instructions-list .highlight{margin-top:.75rem;font-weight:700;color:var(--text-primary)}.cornell-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.cornell-footer{border:2px solid var(--border);padding:1rem;text-align:center}@media print{.cornell-notes-container{position:static;padding:0}.cornell-actions,.cornell-footer,.cornell-instructions{display:none}.cornell-main-layout{border:2px solid black;page-break-inside:avoid}.cornell-grid,.cornell-document-header,.cornell-summary{color:#000}}@media (max-width: 968px){.cornell-grid{grid-template-columns:1fr}.cornell-cues-column{border-right:none;border-bottom:2px solid var(--border)}}@media (max-width: 768px){.cornell-notes-container{padding:1rem}.cornell-header-box,.cornell-info-box,.cornell-main-layout,.cornell-instructions{font-size:.75rem}.btn-action{padding:.5rem 1rem;font-size:.75rem}.cornell-main-title{font-size:1.25rem}}.concept-map-3d-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;z-index:1000;display:flex;flex-direction:column;font-family:JetBrains Mono,monospace;color:#00ff41}.concept-map-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#010;border-bottom:2px solid #00ff41;box-shadow:0 0 20px #00ff414d}.concept-map-main{flex:1;position:relative;overflow:hidden}.controls-overlay{position:absolute;top:20px;left:20px;background:#001100e6;border:2px solid #00ff41;padding:15px;box-shadow:0 0 20px #00ff4166;min-width:200px}.node-details-panel{position:absolute;top:20px;right:20px;background:#001100f2;border:2px solid #00ff41;padding:20px;min-width:300px;max-width:400px;box-shadow:0 0 30px #00ff4180;animation:slideInRight .3s ease-out}.node-type-badge{font-size:11px;font-weight:700;letter-spacing:1px}.node-title{font-size:18px;font-weight:700;color:#00ff41;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.node-definition{font-size:13px;color:#00d9ff;line-height:1.6;margin-bottom:15px;border-left:2px solid #00d9ff;padding-left:10px}.node-level{font-size:11px;color:#ff0;margin-bottom:15px}.concept-map-footer{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#010;border-top:2px solid #00ff41;box-shadow:0 0 20px #00ff414d}.footer-stats{display:flex;gap:20px;font-size:11px;color:#00d9ff}.footer-stats span{padding:4px 8px;border:1px solid #00d9ff;background:#00d9ff1a}.concept-map-main canvas{filter:brightness(1.1);box-shadow:inset 0 0 100px #00ff411a}@media (max-width: 768px){.controls-overlay{top:10px;left:10px;padding:10px;min-width:150px}.node-details-panel{top:10px;right:10px;min-width:250px;max-width:300px;padding:15px}.footer-controls{flex-direction:column;gap:8px}.control-button{width:100%}.footer-stats{flex-direction:column;gap:5px;font-size:10px}}.concept-map-main:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:10;opacity:.3}.concept-map-main:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,transparent 0%,transparent 70%,rgba(0,0,0,.5) 100%);pointer-events:none;z-index:10}.timeline-3d-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;z-index:1000;display:flex;flex-direction:column;font-family:JetBrains Mono,monospace;color:#00ff41}.timeline-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#010;border-bottom:2px solid #00ff41;box-shadow:0 0 20px #00ff414d}.terminal-prompt{font-size:16px;color:#00ff41;letter-spacing:1px}.close-button{background:none;border:2px solid #00ff41;color:#00ff41;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:14px;cursor:pointer;transition:all .2s}.close-button:hover{background:#00ff41;color:#000;box-shadow:0 0 15px #00ff4199}.timeline-main{flex:1;position:relative;overflow:hidden}.timetravel-hud{position:absolute;top:20px;left:20px;background:#001100f2;border:3px solid #ffff00;padding:20px;box-shadow:0 0 30px #ff09;min-width:320px;z-index:60;animation:slideInLeft .3s ease-out}.hud-header{font-size:13px;color:#ff0;font-weight:700;margin-bottom:15px;text-align:center;letter-spacing:2px;border-bottom:2px solid #ffff00;padding-bottom:8px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.delorean-display{display:flex;gap:8px;margin-bottom:15px;padding:12px;background:#000c;border:2px solid #ff0000;box-shadow:0 0 20px #f009}.date-section{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:#ffff001a;border:1px solid #ffff00}.date-section.year{flex:1.5;border-color:red;background:#ff00001a}.date-label{font-size:9px;color:#00d9ff;font-weight:700;letter-spacing:1.5px}.date-digit{font-size:24px;color:#ff0;font-weight:700;letter-spacing:3px;text-shadow:0 0 15px rgba(255,255,0,1);font-family:Courier New,monospace;animation:digitGlow .1s ease-in-out infinite}.date-section.year .date-digit{color:red;text-shadow:0 0 15px rgba(255,0,0,1)}@keyframes digitGlow{0%,to{opacity:1}50%{opacity:.8}}.hud-phase{font-size:11px;color:#00ff41;margin-bottom:10px;text-align:center;padding:8px;background:#00ff4126;border:1px solid #00ff41;font-weight:700;letter-spacing:1px;animation:pulse 1.5s ease-in-out infinite}.hud-progress{font-size:11px;color:#00ff41;margin-bottom:12px;text-align:center;padding:6px;background:#00ff411a;border:1px solid #00ff41}.hud-speed{margin-bottom:15px}.speed-label{font-size:11px;color:#00d9ff;font-weight:700;display:block;margin-bottom:8px;letter-spacing:1px}.speed-controls{display:flex;gap:6px}.speed-btn{flex:1;background:none;border:2px solid #00d9ff;color:#00d9ff;padding:6px 8px;font-family:JetBrains Mono,monospace;font-size:11px;cursor:pointer;transition:all .2s}.speed-btn:hover{background:#00d9ff33;box-shadow:0 0 10px #00d9ff66}.speed-btn.active{background:#00d9ff;color:#000;box-shadow:0 0 15px #00d9ffcc;font-weight:700}.hud-stop-btn{width:100%;background:none;border:2px solid #ff0000;color:red;padding:10px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;cursor:pointer;transition:all .2s;letter-spacing:1px}.hud-stop-btn:hover{background:red;color:#fff;box-shadow:0 0 20px #f00c}.controls-overlay{position:absolute;top:20px;left:20px;background:#001100e6;border:2px solid #00ff41;padding:15px;box-shadow:0 0 20px #00ff4166;min-width:200px;z-index:50}.controls-section{display:flex;flex-direction:column;gap:8px}.control-label{font-size:12px;color:#00d9ff;font-weight:700;margin-bottom:5px;letter-spacing:1px}.control-item{font-size:11px;color:#00ff41;line-height:1.6}.event-details-panel{position:absolute;top:20px;right:20px;background:#001100f2;border:2px solid #00ff41;padding:20px;min-width:320px;max-width:420px;box-shadow:0 0 30px #00ff4180;animation:slideInRight .3s ease-out;z-index:50;max-height:calc(100vh - 200px);overflow-y:auto}.event-details-panel.fade-in{animation:fadeInPanel .5s ease-in forwards}.event-details-panel.fade-out{animation:fadeOutPanel .4s ease-out forwards}@keyframes fadeInPanel{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeOutPanel{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.event-category-badge{font-size:11px;font-weight:700;letter-spacing:1px}.panel-close{background:none;border:none;color:#00ff41;font-size:18px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .2s}.panel-close:hover{color:#fff;transform:scale(1.2)}.event-date{font-size:12px;color:#ff0;margin-bottom:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.event-title{font-size:18px;font-weight:700;color:#00ff41;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.event-description{font-size:13px;color:#00d9ff;line-height:1.6;margin-bottom:15px;border-left:2px solid #00d9ff;padding-left:10px}.event-importance{font-size:11px;color:#ff0;margin-bottom:15px}.importance-bar{width:100%;height:8px;background:#010;border:1px solid #003300;margin-top:5px;position:relative;overflow:hidden}.importance-fill{height:100%;background:#00ff41;transition:width .3s ease;box-shadow:0 0 10px currentColor}.event-details{margin-top:15px;padding-top:15px;border-top:1px solid #003300}.detail-item{font-size:12px;color:#00ff41;margin-bottom:8px;line-height:1.5}.detail-label{color:#00d9ff;font-weight:700}.connections-section{margin-top:15px;padding-top:15px;border-top:1px solid #003300}.connections-label{font-size:11px;color:#00d9ff;font-weight:700;margin-bottom:10px;letter-spacing:1px}.connection-item{font-size:12px;color:#00ff41;margin-bottom:6px;line-height:1.4}.category-filters{position:absolute;bottom:100px;left:20px;background:#001100e6;border:2px solid #00d9ff;padding:15px;box-shadow:0 0 20px #00d9ff66;min-width:200px;z-index:50}.filter-label{font-size:12px;color:#00d9ff;font-weight:700;margin-bottom:10px;letter-spacing:1px}.category-filter{display:block;width:100%;background:none;border:2px solid;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:11px;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;text-align:left}.category-filter.active{background:#00ff411a}.category-filter.active:hover{background:#00ff4133;box-shadow:0 0 15px currentColor}.category-filter.inactive{opacity:.5}.category-filter.inactive:hover{opacity:.8}.timeline-footer{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#010;border-top:2px solid #00ff41;box-shadow:0 0 20px #00ff414d}.footer-controls{display:flex;gap:10px;flex-wrap:wrap}.control-button{background:none;border:2px solid #00ff41;color:#00ff41;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:11px;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.control-button:hover{background:#00ff41;color:#000;box-shadow:0 0 15px #00ff4199;transform:translateY(-2px)}.control-button:active{transform:translateY(0)}.control-button.active{background:#00ff41;color:#000;box-shadow:0 0 20px #00ff41cc;font-weight:700}.footer-stats{display:flex;gap:20px;font-size:11px;color:#00d9ff;flex-wrap:wrap}.footer-stats span{padding:4px 8px;border:1px solid #00d9ff;background:#00d9ff1a;white-space:nowrap}.timeline-main canvas{filter:brightness(1.1);box-shadow:inset 0 0 100px #00ff411a}.timeline-main:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:10;opacity:.3}.timeline-main:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,transparent 0%,transparent 70%,rgba(0,0,0,.5) 100%);pointer-events:none;z-index:10}.event-details-panel::-webkit-scrollbar{width:8px}.event-details-panel::-webkit-scrollbar-track{background:#010;border:1px solid #003300}.event-details-panel::-webkit-scrollbar-thumb{background:#00ff41;box-shadow:0 0 10px #00ff4180}.event-details-panel::-webkit-scrollbar-thumb:hover{background:#00d9ff;box-shadow:0 0 15px #00d9ffb3}@media (max-width: 768px){.controls-overlay{top:10px;left:10px;padding:10px;min-width:150px}.event-details-panel{top:10px;right:10px;min-width:280px;max-width:calc(100vw - 40px);padding:15px}.category-filters{bottom:80px;left:10px;min-width:150px;padding:10px}.footer-controls{flex-direction:column;gap:8px}.control-button{width:100%}.footer-stats{flex-direction:column;gap:5px;font-size:10px}.timeline-header{padding:10px}.terminal-prompt{font-size:12px}.close-button{font-size:11px;padding:6px 12px}}.visualizer-container{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;z-index:1000;overflow:hidden;font-family:JetBrains Mono,Courier New,monospace;color:#00ff41;animation:flicker .15s infinite}@keyframes flicker{0%{opacity:.98}50%{opacity:1}to{opacity:.98}}.visualizer-wrapper{width:100%;height:100%;display:flex;flex-direction:column;position:relative;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15),rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);box-shadow:inset 0 0 100px #000c}.visualizer-header{padding:20px 30px;border-bottom:2px solid #00ff41;background:#00ff410d}.terminal-prompt{font-size:12px;color:#00d9ff;margin-bottom:8px;text-shadow:0 0 10px #00d9ff}.visualizer-title{font-size:24px;font-weight:700;color:#00ff41;margin:0;text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 20px #00ff41,0 0 40px #00ff41}.visualizer-subtitle{font-size:13px;color:#00ff41;opacity:.7;margin-top:5px}.visualizer-scene{flex:1;position:relative;border:2px solid #00ff41;margin:20px;box-shadow:0 0 20px #00ff414d,inset 0 0 20px #00ff411a}.visualizer-scene canvas{display:block;width:100%!important;height:100%!important}.visualizer-controls-overlay{position:absolute;top:40px;right:40px;background:#000000d9;border:2px solid #00ff41;padding:15px 20px;min-width:250px;box-shadow:0 0 20px #00ff4180;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.controls-title{font-size:14px;font-weight:700;color:#00ff41;margin-bottom:12px;text-shadow:0 0 10px #00ff41;border-bottom:1px solid #00ff41;padding-bottom:5px}.controls-list{display:flex;flex-direction:column;gap:8px}.control-item{display:flex;justify-content:space-between;font-size:12px}.control-key{color:#00d9ff;font-weight:600;text-shadow:0 0 8px #00d9ff}.control-desc{color:#00ff41;opacity:.8}.object-details-panel{position:absolute;top:40px;left:40px;background:#000000f2;border:2px solid #00ff41;padding:20px;min-width:320px;max-width:400px;box-shadow:0 0 30px #00ff4199;animation:slideInLeft .3s ease-out;z-index:100}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #00ff41}.object-type-badge{font-size:12px;font-weight:700;text-shadow:0 0 10px currentColor;letter-spacing:1px}.panel-close{background:none;border:none;color:#ff0040;font-size:16px;font-weight:700;cursor:pointer;padding:0;line-height:1;transition:all .2s;font-family:JetBrains Mono,monospace}.panel-close:hover{color:#f60;text-shadow:0 0 15px #ff6600;transform:scale(1.2)}.object-title{font-size:18px;font-weight:700;color:#00ff41;margin-bottom:12px;text-shadow:0 0 15px #00ff41}.object-explanation{color:#00d9ff;font-size:14px;line-height:1.6;margin-bottom:15px;padding:10px;background:#00d9ff0d;border-left:3px solid #00d9ff}.object-properties{display:flex;flex-direction:column;gap:8px}.property-item{display:flex;justify-content:space-between;font-size:12px;padding:6px 0;border-bottom:1px solid rgba(0,255,65,.2)}.property-label{color:#ff0;font-weight:600;opacity:.9}.property-value{color:#00ff41;font-weight:400;text-align:right;max-width:180px;word-wrap:break-word;font-family:Courier New,monospace}.visualizer-stats{position:absolute;bottom:80px;left:40px;display:flex;gap:20px;background:#000000b3;border:1px solid #ffff00;padding:8px 15px;box-shadow:0 0 15px #ffff004d}.stat-item{display:flex;gap:8px;font-size:12px}.stat-label{color:#ff0;font-weight:600;opacity:.9}.stat-value{color:#00ff41;font-weight:700}.visualizer-actions{display:flex;justify-content:center;gap:15px;padding:15px 30px;background:#000000b3;border-top:2px solid #00ff41;flex-wrap:wrap}.btn-action{background:transparent;border:2px solid #00ff41;color:#00ff41;padding:10px 20px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 0 10px #00ff414d}.btn-action:hover{background:#00ff41;color:#000;box-shadow:0 0 20px #00ff41cc;transform:translateY(-2px)}.btn-action:active{transform:translateY(0)}.btn-secondary{border-color:#00d9ff;color:#00d9ff;box-shadow:0 0 10px #00d9ff4d}.btn-secondary:hover{background:#00d9ff;color:#000;box-shadow:0 0 20px #00d9ffcc}.btn-back{border-color:#ff0040;color:#ff0040;box-shadow:0 0 10px #ff00404d}.btn-back:hover{background:#ff0040;color:#000;box-shadow:0 0 20px #ff0040cc}.visualizer-footer{padding:12px 30px;background:#00ff410d;border-top:1px solid #00ff41;text-align:center}.footer-text{font-size:11px;color:#00ff41;font-weight:600;text-shadow:0 0 10px #00ff41;margin-bottom:3px}.footer-hint{font-size:10px;color:#00ff41;opacity:.6}@media (max-width: 768px){.visualizer-controls-overlay{top:20px;right:20px;min-width:200px;padding:12px 15px}.visualizer-details-panel{top:20px;left:20px;min-width:220px;padding:12px 15px}.visualizer-stats{bottom:70px;left:20px;gap:15px;padding:6px 12px}.visualizer-title{font-size:18px}.btn-action{padding:8px 15px;font-size:11px}.visualizer-scene{margin:15px}}@keyframes glow{0%,to{opacity:1}50%{opacity:.7}}.visualizer-title,.controls-title,.panel-header span{animation:glow 2s ease-in-out infinite}.eli5-container{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);z-index:1000;overflow-y:auto;padding:2rem;font-family:JetBrains Mono,monospace}.eli5-wrapper{max-width:1400px;margin:0 auto}.eli5-header{border:4px solid var(--border);border-radius:4px;padding:1.5rem;margin-bottom:1.5rem;background:var(--bg-secondary)}.terminal-prompt{font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem;font-family:JetBrains Mono,monospace;letter-spacing:.05em}.eli5-title{font-size:1.75rem;font-weight:700;letter-spacing:.1em;color:var(--text-primary);margin-bottom:.5rem;text-transform:uppercase}.eli5-subtitle{font-size:.875rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.eli5-svg-section{border:4px solid var(--border);border-radius:4px;padding:2rem;background:var(--bg-secondary);margin-bottom:1.5rem}.section-header{font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:.1em;margin-bottom:1rem;font-family:JetBrains Mono,monospace;text-transform:uppercase}.svg-wrapper{display:flex;justify-content:center;align-items:center;background:#000;border:2px solid var(--border);border-radius:4px;padding:1rem;overflow-x:auto;min-height:400px}.eli5-svg{display:block;width:100%;max-width:100%;height:auto;border-radius:4px}.no-visual{color:var(--text-secondary);text-align:center;padding:2rem}.eli5-content{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:1.5rem}.eli5-box{border:3px solid var(--border);border-radius:4px;background:var(--bg-primary);overflow:hidden}.box-header{background:var(--border);color:var(--bg-primary);padding:.75rem 1.5rem;font-family:JetBrains Mono,monospace;font-weight:700;font-size:.875rem;letter-spacing:.1em;text-transform:uppercase}.fun-fact-box{border-color:var(--accent)}.fun-fact-box .box-header{background:var(--accent);color:var(--bg-primary)}.box-content{padding:1.5rem;color:var(--text-primary);line-height:1.8}.box-content p{margin:0;font-size:1rem}.box-content ul{margin:0;padding-left:1.5rem;list-style:none}.box-content ul li{position:relative;margin-bottom:.75rem;padding-left:1rem}.box-content ul li:before{content:"→";position:absolute;left:-.5rem;color:var(--accent);font-weight:700}.box-content code{display:block;padding:1rem;background:#0a0a0a;border:2px solid #003300;color:#0f0;font-family:JetBrains Mono,monospace;font-size:1.1rem;letter-spacing:.05em;text-align:center;margin-top:.5rem}.technical-box{border-color:var(--text-secondary);opacity:.9}.technical-box .box-header{background:var(--text-secondary)}.eli5-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.btn-action{background:transparent;border:2px solid var(--border);color:var(--text-primary);padding:.75rem 1.5rem;font-family:JetBrains Mono,monospace;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.05em}.btn-action:hover{background:var(--text-primary);color:var(--bg-primary);box-shadow:0 0 20px var(--text-primary)}.btn-action:active{transform:scale(.98)}.btn-secondary{border-color:var(--text-secondary);color:var(--text-secondary)}.btn-secondary:hover{background:var(--text-secondary);color:var(--bg-primary);box-shadow:0 0 20px var(--text-secondary)}.btn-back{border-color:var(--accent);color:var(--accent)}.btn-back:hover{background:var(--accent);color:var(--bg-primary);box-shadow:0 0 20px var(--accent)}.eli5-footer{border:2px solid var(--border);padding:1rem;text-align:center}.footer-text{font-size:.75rem;color:var(--text-primary);margin-bottom:.25rem;font-family:JetBrains Mono,monospace;letter-spacing:.1em}.footer-hint{font-size:.75rem;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.eli5-icon{transition:transform .3s ease}.eli5-icon:hover{transform:scale(1.1)}@media (max-width: 768px){.eli5-container,.eli5-svg-section{padding:1rem}.svg-wrapper{padding:.5rem;min-height:300px}.eli5-svg{max-width:100%}.box-content{padding:1rem;font-size:.9rem}.btn-action{padding:.5rem 1rem;font-size:.75rem}.eli5-title{font-size:1.25rem}}@media (min-width: 1024px){.eli5-content{grid-template-columns:1fr 1fr}.eli5-box:first-child,.fun-fact-box{grid-column:1 / -1}}.module-viewer{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}.module-header-section{margin-bottom:3rem}.module-info{display:flex;gap:2rem;margin-top:1rem;font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-secondary)}.content-section{margin-bottom:3rem}.content-text{background:var(--bg-secondary);border:1px solid var(--border);padding:2rem;line-height:1.8;font-size:1rem}.content-text p{margin:1rem 0;color:var(--text-primary)}.content-text p:first-child{margin-top:0}.content-text p:last-child{margin-bottom:0}.quiz-start-section{background:var(--bg-secondary);border:1px solid var(--border);padding:2rem}.quiz-description{color:var(--muted);line-height:1.6;margin:1rem 0 1.5rem}.btn-primary{background:var(--accent);border:none;color:var(--bg-primary);padding:.75rem 2rem;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s}.btn-primary:hover:not(:disabled){opacity:.8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--muted);padding:.75rem 2rem;font-family:JetBrains Mono,monospace;font-size:.875rem;cursor:pointer;transition:all .15s}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.quiz-header{margin-bottom:2rem}.quiz-title{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:.5rem 0 0}.questions{margin-bottom:2rem}.question-card{background:var(--bg-secondary);border:1px solid var(--border);padding:1.5rem;margin-bottom:1.5rem}.question-header{display:flex;gap:1rem;margin-bottom:1rem}.question-number{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700;color:var(--accent);flex-shrink:0}.question-text{font-family:JetBrains Mono,monospace;font-size:1rem;color:var(--text-primary);line-height:1.6}.question-meta{display:flex;gap:1.5rem;margin-bottom:1rem;font-size:.75rem;color:var(--text-secondary)}.topic,.difficulty{font-family:JetBrains Mono,monospace}.options{display:flex;flex-direction:column;gap:.75rem}.option{display:flex;align-items:center;gap:1rem;background:var(--bg-primary);border:1px solid var(--border);padding:1rem;cursor:pointer;transition:all .15s}.option:hover{border-color:var(--accent)}.option.selected{border-color:gold;background:color-mix(in srgb,#ffd700 15%,transparent);box-shadow:0 0 8px #ffd70066}.option.selected .option-letter{color:gold}.option.selected .option-text{color:var(--text-primary);font-weight:500}.option input[type=radio]{display:none}.option-letter{font-family:JetBrains Mono,monospace;font-weight:700;color:var(--accent);flex-shrink:0;width:1.5rem}.option-text{color:var(--text-primary);line-height:1.4}.quiz-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:2rem}.results-box{background:var(--bg-secondary);border:1px solid var(--border);padding:2rem;margin-top:2rem}.results-box.passed{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.results-box.failed{border-color:var(--error);background:color-mix(in srgb,var(--error) 5%,transparent)}.results-header{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:2rem}.results-box.passed .results-header{color:var(--accent)}.results-box.failed .results-header{color:var(--error)}.results-stats{display:flex;gap:2rem;justify-content:center;align-items:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.stat-big{text-align:center}.stat-big .stat-label{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.stat-big .stat-value{font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:700;color:var(--text-primary)}.stat-big .stat-percentage{font-family:JetBrains Mono,monospace;font-size:1.5rem;color:var(--accent);margin-top:.5rem}.results-box.failed .stat-big .stat-percentage{color:var(--error)}.stat-small{text-align:center}.stat-small .stat-label{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem}.stat-small .stat-value{font-family:JetBrains Mono,monospace;font-size:1.125rem;color:var(--text-primary)}.unlock-message{text-align:center;font-family:JetBrains Mono,monospace;color:var(--accent);padding:1rem;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);margin-bottom:2rem}.results-details{margin-bottom:2rem}.result-item{background:var(--bg-primary);border:1px solid var(--border);padding:1rem;margin-bottom:1rem}.result-item.correct{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}.result-item.incorrect{border-color:var(--error);background:color-mix(in srgb,var(--error) 5%,transparent)}.result-header{display:flex;gap:1rem;align-items:center}.result-number{font-family:JetBrains Mono,monospace;font-weight:700;color:var(--text-secondary)}.result-status{font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:600}.result-item.correct .result-status{color:var(--accent)}.result-item.incorrect .result-status{color:var(--error)}.result-question{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.question-label{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem}.result-options{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.option-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border)}.option-item .option-letter{font-family:JetBrains Mono,monospace;font-weight:700;color:var(--text-secondary);flex-shrink:0;width:1.5rem}.option-item .option-text{color:var(--text-primary);line-height:1.4;flex:1}.option-item.option-correct{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.option-item.option-correct .option-letter{color:var(--accent)}.option-item.option-incorrect{border-color:var(--error);background:color-mix(in srgb,var(--error) 10%,transparent)}.option-item.option-incorrect .option-letter{color:var(--error)}.option-badge{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:2px}.option-item.option-correct .option-badge{background:var(--accent);color:var(--bg-primary)}.option-item.option-incorrect .option-badge{background:var(--error);color:var(--text-primary)}.result-explanation{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.explanation-label{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem}.explanation-text{color:var(--text-primary);line-height:1.6}.tools-section{margin-bottom:3rem}.tools-description{color:var(--muted);line-height:1.6;margin:1rem 0 1.5rem;font-family:JetBrains Mono,monospace;font-size:.875rem}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.tool-button{background:var(--bg-secondary);border:2px solid var(--border);padding:1.5rem;cursor:pointer;transition:all .2s ease;text-align:left;color:var(--text-primary);font-family:JetBrains Mono,monospace}.tool-button:hover:not(:disabled){border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 16px #0f03}.tool-button:disabled{opacity:.5;cursor:not-allowed}.tool-button.generated{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--bg-secondary))}.tool-status{font-size:.7rem;margin-bottom:.75rem;letter-spacing:.05em;font-family:JetBrains Mono,monospace}.tool-status.status-pending{color:gold}.tool-status.status-ready{color:#0f0}.tool-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;letter-spacing:.05em;display:flex;align-items:center;gap:.5rem}.tool-icon{font-size:1.2rem;line-height:1}.tool-icon.icon-pending{color:gold}.tool-icon.icon-ready{color:#0f0}.tool-description{font-size:.875rem;color:var(--text-secondary);line-height:1.6}@media (max-width: 768px){.tools-grid{grid-template-columns:1fr}}.settings{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary)}.settings-info{margin-bottom:3rem}.settings-content{display:flex;flex-direction:column;gap:2rem}.settings-section{margin-bottom:2rem}.section-header{margin-bottom:1rem}.section-title{font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0;text-transform:uppercase}.settings-card{background:var(--bg-secondary);border:1px solid var(--border);padding:2rem}.setting-item{display:flex;flex-direction:column;gap:.75rem}.setting-item+.setting-item{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.setting-label{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.setting-value{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-primary)}.setting-description{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--muted);line-height:1.6;margin-bottom:.5rem}.theme-selector-wrapper{margin-top:1rem}.skills-welcome,.skills-profile-form,.skills-diagnostic,.skills-result{max-width:900px;margin:0 auto;padding:2rem 0}.info-box{border:2px solid var(--primary-color);padding:1.5rem;margin:2rem 0;background:#00ff410d}.info-header{color:var(--primary-color);font-weight:700;margin-bottom:1rem;font-family:Courier New,monospace}.info-content{color:var(--text-color);line-height:1.6}.info-content ul{list-style:none;padding-left:1rem;margin:1rem 0}.info-content li{margin:.5rem 0}.warning{color:var(--warning-color, #ffff00);margin-top:1rem;font-weight:700}.form-section{margin-top:2rem}.form-label{display:block;color:var(--primary-color);margin-bottom:.5rem;font-weight:700;font-family:Courier New,monospace}.form-input{width:100%;padding:.75rem;background:var(--bg-secondary);border:2px solid var(--primary-color);color:var(--text-color);font-family:Courier New,monospace;font-size:1rem;margin-bottom:1.5rem}.form-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 10px var(--primary-color)}.form-hint{font-size:.9rem;color:var(--text-muted);margin-bottom:1rem;line-height:1.5}.interests-input-group{display:flex;gap:1rem;margin-bottom:1rem}.interests-input-group .form-input{flex:1;margin-bottom:0}.btn-add{padding:.75rem 1.5rem;background:var(--primary-color);color:var(--bg-color);border:none;font-family:Courier New,monospace;font-weight:700;cursor:pointer;transition:all .3s}.btn-add:hover:not(:disabled){background:var(--accent-color);box-shadow:0 0 10px var(--primary-color)}.btn-add:disabled{opacity:.5;cursor:not-allowed}.interests-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 2rem;min-height:3rem}.interest-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--primary-color);color:var(--bg-color);border-radius:4px;font-family:Courier New,monospace}.interest-remove{background:transparent;border:none;color:var(--bg-color);font-size:1.5rem;cursor:pointer;padding:0;width:1.5rem;height:1.5rem;line-height:1}.interest-remove:hover{transform:scale(1.2)}.diagnostic-progress{margin:2rem 0}.progress-bar{width:100%;height:2rem;border:2px solid var(--primary-color);background:var(--bg-secondary);overflow:hidden}.progress-fill{height:100%;background:var(--primary-color);transition:width .5s ease}.progress-text{text-align:center;color:var(--primary-color);font-weight:700;margin-top:.5rem;font-family:Courier New,monospace}.skill-label{text-align:center;color:var(--text-muted);margin-top:.5rem;font-family:Courier New,monospace;font-size:.9rem}.question-box{border:2px solid var(--primary-color);padding:2rem;margin:2rem 0;background:#00ff410d}.question-header{color:var(--primary-color);font-weight:700;margin-bottom:1rem;font-family:Courier New,monospace}.question-text{color:var(--text-color);font-size:1.2rem;margin-bottom:1.5rem;line-height:1.6}.answer-input{width:100%;padding:1rem;background:var(--bg-secondary);border:2px solid var(--primary-color);color:var(--text-color);font-family:Courier New,monospace;font-size:1rem;resize:vertical;margin-bottom:1.5rem}.answer-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 10px var(--primary-color)}.feedback-box{border:2px solid var(--primary-color);padding:1.5rem;margin:2rem 0;animation:fadeIn .5s}.feedback-box.correct{border-color:var(--success-color, #00ff41);background:#00ff411a}.feedback-box.incorrect{border-color:var(--error-color, #ff0000);background:#ff00001a}.feedback-header{font-weight:700;margin-bottom:1rem;font-family:Courier New,monospace}.feedback-box.correct .feedback-header{color:var(--success-color, #00ff41)}.feedback-box.incorrect .feedback-header{color:var(--error-color, #ff0000)}.feedback-message{color:var(--text-color);line-height:1.6}.result-summary{text-align:center;margin:2rem 0;padding:2rem;border:2px solid var(--primary-color);background:#00ff410d}.result-header{color:var(--primary-color);font-weight:700;margin-bottom:1rem;font-family:Courier New,monospace}.result-level{font-size:2rem;color:var(--accent-color);font-weight:700;font-family:Courier New,monospace}.result-section{margin:2rem 0}.section-header{color:var(--primary-color);font-weight:700;margin-bottom:1rem;font-family:Courier New,monospace;font-size:1.1rem}.skills-list{border:2px solid var(--primary-color);padding:1.5rem}.skill-item{display:flex;align-items:center;gap:1rem;padding:.75rem;margin:.5rem 0;background:var(--bg-secondary);border-left:3px solid transparent}.skills-list.mastered .skill-item{border-left-color:var(--success-color, #00ff41)}.skills-list.to-reinforce .skill-item{border-left-color:var(--warning-color, #ffff00)}.skill-icon{font-size:1.5rem;min-width:2rem}.skills-list.mastered .skill-icon{color:var(--success-color, #00ff41)}.skills-list.to-reinforce .skill-icon{color:var(--warning-color, #ffff00)}.skill-name{flex:1;color:var(--text-color);font-family:Courier New,monospace}.skill-percentage{color:var(--primary-color);font-weight:700;font-family:Courier New,monospace}.skill-priority{color:var(--text-muted);font-size:.9rem;font-family:Courier New,monospace}.learning-path{border:2px solid var(--primary-color);padding:1.5rem}.path-step{display:flex;align-items:center;gap:1rem;padding:1rem;margin:.5rem 0;background:var(--bg-secondary);position:relative}.path-step:after{content:"";position:absolute;left:1.5rem;bottom:-.5rem;width:2px;height:.5rem;background:var(--primary-color)}.path-step:last-child:after{display:none}.step-number{min-width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--primary-color);color:var(--bg-color);border-radius:50%;font-weight:700;font-family:Courier New,monospace}.step-name{flex:1;color:var(--text-color);font-family:Courier New,monospace}.step-duration{color:var(--primary-color);font-weight:700;font-family:Courier New,monospace}.diagnostic-summary{border:2px solid var(--primary-color);padding:1.5rem;background:#00ff410d;color:var(--text-color);line-height:1.8;white-space:pre-wrap;font-family:Courier New,monospace}.result-actions{display:flex;gap:1rem;margin-top:2rem}.result-actions .btn-primary,.result-actions .btn-secondary{flex:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.interests-input-group,.result-actions{flex-direction:column}.skill-item,.path-step{flex-wrap:wrap}}.drawing-canvas-container{width:100%;max-width:900px;margin:0 auto}.canvas-toolbar{background:var(--bg-primary);border:3px solid var(--border);padding:1rem;margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}.toolbar-section{display:flex;align-items:center;gap:.75rem}.toolbar-section label{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary);letter-spacing:.1em}.color-picker{display:flex;gap:.5rem}.color-btn{width:36px;height:36px;border:2px solid var(--text-secondary);border-radius:4px;cursor:pointer;transition:all .2s ease;position:relative}.color-btn:hover{transform:scale(1.1);border-color:var(--text-primary)}.color-btn.active{border-color:var(--text-primary);border-width:3px;box-shadow:0 0 10px currentColor}.size-picker{display:flex;gap:.5rem}.size-btn{background:transparent;border:2px solid var(--text-secondary);color:var(--text-secondary);padding:.4rem .8rem;font-family:JetBrains Mono,monospace;font-size:.75rem;cursor:pointer;transition:all .2s ease;letter-spacing:.05em}.size-btn:hover{border-color:var(--text-primary);color:var(--text-primary)}.size-btn.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.toolbar-actions{display:flex;gap:.75rem;margin-left:auto}.btn-clear,.btn-save{background:transparent;border:2px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;font-family:JetBrains Mono,monospace;font-size:.75rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.btn-clear:hover{background:#ff0040;border-color:#ff0040;color:#000;box-shadow:0 0 15px #ff0040}.btn-save:hover{background:var(--text-primary);color:var(--bg-primary);box-shadow:0 0 15px var(--text-primary)}.canvas-wrapper{position:relative;border:4px solid var(--border);background:#000;overflow:hidden}.drawing-canvas{display:block;width:100%;height:500px;cursor:crosshair;touch-action:none}.canvas-hint{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-secondary);background:#000c;padding:.5rem 1rem;border:1px solid var(--text-secondary);pointer-events:none;text-align:center}@media (max-width: 768px){.canvas-toolbar{flex-direction:column;align-items:stretch}.toolbar-section{flex-direction:column;align-items:flex-start;width:100%}.color-picker,.size-picker{width:100%;justify-content:space-between}.toolbar-actions{flex-direction:column;width:100%;margin-left:0}.btn-clear,.btn-save{width:100%}.drawing-canvas{height:400px}.canvas-hint{font-size:.65rem;padding:.4rem .8rem}}@media (min-width: 769px) and (max-width: 1024px){.drawing-canvas{height:600px}}.exercises-page{min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}.header{border-bottom:3px solid var(--border);padding:1.5rem 0;background:var(--bg-primary)}.header .container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem}.logo{font-family:JetBrains Mono,monospace;font-weight:700;font-size:1.25rem;letter-spacing:.1em}.btn-back-header{background:transparent;border:2px solid var(--accent);color:var(--accent);padding:.5rem 1rem;font-family:JetBrains Mono,monospace;cursor:pointer;transition:all .2s ease}.btn-back-header:hover{background:var(--accent);color:var(--bg-primary)}.main{padding:2rem 0}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.guide-info{margin-bottom:2rem;border:3px solid var(--border);padding:1.5rem}.guide-title{font-size:1.75rem;margin-bottom:1rem;letter-spacing:.05em}.stats{display:flex;gap:2rem;font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-secondary)}.exercise-box{border:4px solid var(--border);margin-bottom:2rem;background:var(--bg-primary)}.exercise-header{background:var(--border);color:var(--bg-primary);padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center;font-family:JetBrains Mono,monospace;font-weight:700}.difficulty{padding:.25rem .75rem;border-radius:2px;font-size:.75rem}.difficulty-easy{background:#0f0;color:#000}.difficulty-medium{background:#ff0;color:#000}.difficulty-hard{background:#ff0040;color:#fff}.exercise-question{padding:1.5rem}.question-label{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-secondary);margin-bottom:.75rem}.question-text{font-size:1.125rem;line-height:1.8;margin:0}.hints-section{padding:0 1.5rem 1.5rem}.btn-hints{background:transparent;border:2px solid var(--text-secondary);color:var(--text-secondary);padding:.5rem 1rem;font-family:JetBrains Mono,monospace;font-size:.75rem;cursor:pointer;transition:all .2s ease}.btn-hints:hover{border-color:var(--text-primary);color:var(--text-primary)}.hints-list{margin-top:1rem;border:2px solid var(--text-secondary);padding:1rem}.hint-item{display:flex;gap:.75rem;margin-bottom:.75rem}.hint-item:last-child{margin-bottom:0}.hint-number{color:var(--accent);font-weight:700}.answer-section{border:4px solid var(--border);margin-bottom:2rem}.section-label{background:var(--border);color:var(--bg-primary);padding:.75rem 1.5rem;font-family:JetBrains Mono,monospace;font-weight:700;letter-spacing:.1em}.answer-mode-tabs{display:flex;border-bottom:2px solid var(--border)}.tab{flex:1;background:transparent;border:none;border-right:2px solid var(--border);color:var(--text-secondary);padding:1rem;font-family:JetBrains Mono,monospace;font-size:.875rem;cursor:pointer;transition:all .2s ease}.tab:last-child{border-right:none}.tab:hover{background:#00ff001a;color:var(--text-primary)}.tab.active{background:var(--border);color:var(--bg-primary);font-weight:700}.answer-input{padding:1.5rem}.text-input{width:100%;background:#0a0a0a;border:2px solid var(--border);color:var(--text-primary);padding:1rem;font-family:JetBrains Mono,monospace;font-size:1rem;line-height:1.6;resize:vertical}.text-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 10px #00ff004d}.photo-input{text-align:center;padding:2rem}.btn-upload{background:transparent;border:3px solid var(--border);color:var(--text-primary);padding:1rem 2rem;font-family:JetBrains Mono,monospace;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-upload:hover{background:var(--border);color:var(--bg-primary)}.photo-preview{margin-top:1.5rem;border:2px solid var(--border);padding:1rem}.preview-image{max-width:100%;max-height:400px;display:block;margin:0 auto}.answer-actions{padding:0 1.5rem 1.5rem}.btn-submit{width:100%;background:var(--border);border:none;color:var(--bg-primary);padding:1rem;font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;letter-spacing:.1em}.btn-submit:hover:not(:disabled){background:var(--text-primary);box-shadow:0 0 20px var(--text-primary)}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.evaluation-box{border:4px solid;margin-bottom:2rem;background:var(--bg-primary)}.evaluation-box.correct{border-color:#0f0}.evaluation-box.incorrect{border-color:#ff0040}.evaluation-header{padding:1.5rem;font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;text-align:center;letter-spacing:.1em}.evaluation-box.correct .evaluation-header{background:#0f0;color:#000}.evaluation-box.incorrect .evaluation-header{background:#ff0040;color:#fff}.evaluation-score{padding:1.5rem;text-align:center;border-bottom:2px solid var(--border)}.score-label{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.score-value{font-size:3rem;font-weight:700;font-family:JetBrains Mono,monospace}.extracted-text-box,.feedback-box,.suggestion-box{padding:1.5rem;border-bottom:2px solid var(--border)}.extracted-label,.feedback-label,.suggestion-label{font-family:JetBrains Mono,monospace;font-size:.875rem;color:var(--text-secondary);margin-bottom:.75rem}.extracted-text,.feedback-text,.suggestion-text{font-size:1rem;line-height:1.8;margin:0}.evaluation-actions{padding:1.5rem}.btn-next{width:100%;background:var(--border);border:none;color:var(--bg-primary);padding:1rem;font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;letter-spacing:.1em}.btn-next:hover{background:var(--text-primary);box-shadow:0 0 20px var(--text-primary)}.error-box{border:3px solid #ff0040;padding:1.5rem;margin-bottom:2rem}.error-header{font-family:JetBrains Mono,monospace;font-weight:700;color:#ff0040;margin-bottom:.5rem}.error-message{color:var(--text-primary)}.loading-box{border:3px solid var(--border);padding:3rem;text-align:center}.loading-header{font-family:JetBrains Mono,monospace;font-weight:700;font-size:1.25rem;margin-bottom:1rem;letter-spacing:.1em}.loading-message{color:var(--text-secondary)}@media (max-width: 768px){.header .container,.container{padding:0 1rem}.logo{font-size:1rem}.guide-title{font-size:1.25rem}.stats{flex-direction:column;gap:.5rem}.question-text{font-size:1rem}.answer-mode-tabs{flex-direction:column}.tab{border-right:none;border-bottom:2px solid var(--border)}.tab:last-child{border-bottom:none}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:JetBrains Mono,monospace;background-color:#1a1a1a;color:#fff;line-height:1.6}#root{min-height:100vh}:root[data-theme=classic-green]{--bg-primary: #000000;--bg-secondary: #0a0a0a;--text-primary: #00ff00;--text-secondary: #00cc00;--accent: #33ff33;--border: #00ff00;--muted: #cccccc;--error: #ff0000}:root[data-theme=light-green]{--bg-primary: #0a0a0a;--bg-secondary: #3a3a3a;--text-primary: #8FE388;--text-secondary: #7AC973;--accent: #A4F19E;--border: #6FB569;--muted: #B8C8B8;--error: #FF6B6B}:root[data-theme=cyber-blue]{--bg-primary: #0a0f1a;--bg-secondary: #0f1419;--text-primary: #00d9ff;--text-secondary: #00aacc;--accent: #00ffff;--border: #00d9ff;--muted: #8899aa;--error: #ff4444}:root[data-theme=amber-retro]{--bg-primary: #0a0a0a;--bg-secondary: #1a1410;--text-primary: #ffb000;--text-secondary: #cc8800;--accent: #ffd700;--border: #ffb000;--muted: #f5deb3;--error: #ff6600}:root[data-theme=mint-matrix]{--bg-primary: #001a0f;--bg-secondary: #002414;--text-primary: #00ff88;--text-secondary: #00cc66;--accent: #00ffaa;--border: #00ff88;--muted: #99ddbb;--error: #ff5544}:root[data-theme=light-soft]{--bg-primary: #f5f5f0;--bg-secondary: #ffffff;--text-primary: #2c3e50;--text-secondary: #5a6c7d;--accent: #3498db;--border: #d1d5db;--muted: #6b7280;--error: #e74c3c}:root[data-theme=paper-terminal]{--bg-primary: #fef9f3;--bg-secondary: #f5f0e8;--text-primary: #4a3c1e;--text-secondary: #6b5432;--accent: #8b6914;--border: #4a3c1e;--muted: #9a8866;--error: #cc4400}:root[data-theme=ibm-green]{--bg-primary: #f0f8e8;--bg-secondary: #e6f4dc;--text-primary: #2d5016;--text-secondary: #3d6820;--accent: #4a7c2a;--border: #2d5016;--muted: #6b8c50;--error: #cc3300}:root[data-theme=blueprint-tech]{--bg-primary: #e8f2f8;--bg-secondary: #dce8f4;--text-primary: #0d3d5c;--text-secondary: #1a5278;--accent: #2667a0;--border: #0d3d5c;--muted: #5588aa;--error: #cc2200}:root[data-theme=punched-card]{--bg-primary: #f0f2f5;--bg-secondary: #e4e6e9;--text-primary: #1a1d23;--text-secondary: #2d3139;--accent: #404550;--border: #1a1d23;--muted: #666c7a;--error: #cc1100}:root[data-theme=neon-cyan]{--bg-primary: #0a0e1a;--bg-secondary: #121826;--text-primary: #00ffff;--text-secondary: #00cccc;--accent: #00e5e5;--border: #00ffff;--muted: #6b8a9a;--error: #ff3366}:root[data-theme=neon-pink]{--bg-primary: #1a0a1a;--bg-secondary: #2a1a2a;--text-primary: #ff00ff;--text-secondary: #ff66ff;--accent: #ff1493;--border: #ff00ff;--muted: #c499c4;--error: #ff4444}
