@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800;900&family=Barlow:wght@400;500;600&family=JetBrains+Mono:wght@400;600&display=swap";:root{--bg: #0a0a0a;--surface: #111111;--surface2: #1a1a1a;--surface3: #222222;--border: #2a2a2a;--border2: #333333;--text: #f0f0f0;--text2: #999999;--text3: #666666;--accent: #e85d04;--accent2: #ff6b1a;--accent-glow: rgba(232, 93, 4, .2);--blue: #0096c7;--green: #2dc653;--purple: #c77dff;--yellow: #ffd60a;--red: #ef233c;--font-display: "Barlow Condensed", sans-serif;--font-body: "Barlow", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius: 8px;--radius-lg: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100vh;max-width:800px;margin:0 auto}.header{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border)}.header-brand{display:flex;align-items:center;gap:12px;padding:12px 20px 8px}.nccco-badge{background:transparent;border:2px solid var(--text);color:var(--text);font-family:var(--font-display);font-weight:800;font-size:13px;letter-spacing:2px;padding:4px 10px;border-radius:4px;flex-shrink:0}.header-title{display:flex;flex-direction:column}.header-title-main{font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.5px;text-decoration:line-through;color:var(--text)}.header-title-sub{font-size:10px;color:var(--text3);letter-spacing:.3px}.nav{display:flex;padding:0 12px;gap:0;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 14px 10px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text3);cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.nav-btn:hover{color:var(--text2)}.nav-btn.active{color:var(--text);border-bottom-color:var(--accent)}.nav-icon{font-size:16px}.nav-label{font-size:9px;font-weight:600;letter-spacing:1px}.main{flex:1;overflow-y:auto;padding:24px 20px 40px}.section-label{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin-bottom:8px}.page-title{font-family:var(--font-display);font-size:52px;font-weight:900;line-height:.9;letter-spacing:-1px;text-transform:uppercase;margin-bottom:16px}.page-title .accent{color:var(--accent)}.xp-bar{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.xp-value{font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--text);letter-spacing:1px}.xp-label{font-size:10px;color:var(--text3);letter-spacing:1px;margin-top:2px}.xp-percent{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--text2)}.courses-label{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text3);text-transform:uppercase;margin-bottom:12px}.course-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;margin-bottom:10px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .15s;position:relative;overflow:hidden}.course-card:hover{border-color:var(--border2);background:var(--surface2);transform:translate(2px)}.course-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--course-color, var(--accent));opacity:0;transition:opacity .15s}.course-card:hover:before{opacity:1}.course-icon{width:42px;height:42px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--surface3);flex-shrink:0}.course-info{flex:1;min-width:0}.course-title{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:.5px;margin-bottom:3px}.course-tags{font-size:11px;color:var(--text3)}.course-percent{font-family:var(--font-mono);font-size:12px;font-weight:600;padding:3px 8px;border-radius:4px;background:var(--surface3);color:var(--text2)}.course-percent.done{color:var(--green)}.progress-bar-wrap{height:3px;background:var(--surface3);border-radius:2px;margin-top:8px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .4s ease}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:14px}.exam-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px}.exam-option-btn{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .15s;color:var(--text)}.exam-option-btn:hover{border-color:var(--accent);background:var(--surface3)}.exam-option-icon{font-size:28px}.exam-option-title{font-family:var(--font-display);font-size:16px;font-weight:700}.exam-option-sub{font-size:10px;color:var(--text3)}.drill-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;margin-bottom:8px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .15s}.drill-item:hover{border-color:var(--border2);background:var(--surface2)}.drill-arrow{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.drill-info{flex:1}.drill-title{font-family:var(--font-display);font-size:17px;font-weight:700}.drill-sub{font-size:11px;color:var(--text3);margin-top:1px}.quiz-wrap{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.quiz-progress-text{font-size:12px;color:var(--text3)}.quiz-progress-bar{height:3px;background:var(--surface3);border-radius:2px;margin-bottom:24px;overflow:hidden}.quiz-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.quiz-question{font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1.2;margin-bottom:6px}.quiz-standard{font-size:10px;color:var(--accent);letter-spacing:1px;font-weight:600;margin-bottom:20px}.quiz-options{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.quiz-option{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:all .15s;text-align:left;color:var(--text);font-size:14px;line-height:1.4;display:flex;align-items:flex-start;gap:10px}.quiz-option:hover:not(:disabled){border-color:var(--accent);background:var(--surface3)}.quiz-option.correct{border-color:var(--green);background:#2dc6531a;color:var(--text)}.quiz-option.wrong{border-color:var(--red);background:#ef233c1a}.quiz-option.reveal{opacity:.5}.option-letter{width:22px;height:22px;border-radius:4px;background:var(--surface3);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:700;flex-shrink:0;margin-top:1px}.quiz-option.correct .option-letter{background:var(--green);color:#000}.quiz-option.wrong .option-letter{background:var(--red);color:#fff}.quiz-explanation{background:var(--surface2);border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;padding:14px 16px;margin-bottom:20px;font-size:13px;line-height:1.6;color:var(--text2);animation:fadeIn .2s ease}.quiz-explanation strong{color:var(--accent);font-family:var(--font-mono)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius);font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.5px;cursor:pointer;transition:all .15s;border:none}.btn-primary{background:var(--accent);color:#fff;width:100%}.btn-primary:hover{background:var(--accent2)}.btn-ghost{background:var(--surface2);border:1px solid var(--border);color:var(--text2)}.btn-ghost:hover{border-color:var(--border2);color:var(--text)}.results-wrap{text-align:center;padding:20px 0;animation:fadeIn .3s ease}.results-score{font-family:var(--font-display);font-size:80px;font-weight:900;line-height:1;margin-bottom:4px}.results-score.pass{color:var(--green)}.results-score.fail{color:var(--red)}.results-label{font-size:12px;color:var(--text3);letter-spacing:2px;margin-bottom:24px}.results-detail{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.results-stat{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.results-stat-val{font-family:var(--font-display);font-size:24px;font-weight:800}.results-stat-lbl{font-size:10px;color:var(--text3);letter-spacing:1px;margin-top:2px}.study-filter{display:flex;gap:6px;margin-bottom:20px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.study-filter::-webkit-scrollbar{display:none}.filter-btn{flex-shrink:0;padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:var(--surface2);color:var(--text3);font-size:11px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:5px}.filter-btn.active{background:var(--surface3);color:var(--text);border-color:var(--border2)}.filter-btn.active-color{color:#fff;border-color:transparent}.guide-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:14px}.guide-section-title{font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:.5px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.guide-table{width:100%;border-collapse:collapse}.guide-table tr{border-bottom:1px solid var(--border)}.guide-table tr:last-child{border-bottom:none}.guide-table td{padding:8px 4px;font-size:13px}.guide-table td:nth-child(2){font-family:var(--font-mono);font-weight:700;color:var(--accent);text-align:center}.guide-table td:nth-child(3){color:var(--text3);text-align:right;font-size:11px}.guide-list{list-style:none;display:flex;flex-direction:column;gap:8px}.guide-list li{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;color:var(--text2)}.guide-list li:before{content:"•";color:var(--accent);flex-shrink:0;margin-top:1px}.formula-box{background:#e85d0414;border:1px solid rgba(232,93,4,.3);border-radius:var(--radius);padding:14px 16px;font-family:var(--font-mono);font-size:13px;line-height:1.5;color:var(--accent2);margin-bottom:12px;font-weight:600}.formula-examples{display:flex;flex-direction:column;gap:6px}.formula-example{font-size:12px;color:var(--text3);font-family:var(--font-mono)}.numbered-list{list-style:none;display:flex;flex-direction:column;gap:10px}.numbered-list li{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.5;color:var(--text2)}.num-badge{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;margin-top:1px}.roadmap-section{margin-top:28px}.roadmap-title{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text3);text-transform:uppercase;margin-bottom:12px}.roadmap-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:13px;color:var(--text2)}.roadmap-item:last-child{border-bottom:none}.roadmap-item.done{color:var(--text)}.roadmap-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--border2);flex-shrink:0;display:flex;align-items:center;justify-content:center}.roadmap-check.done{background:var(--green);border-color:var(--green);color:#000;font-size:12px}.roadmap-icon{font-size:16px;flex-shrink:0}.ai-generating{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.ai-spinner{width:48px;height:48px;border:3px solid var(--surface3);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ai-label{font-family:var(--font-display);font-size:18px;color:var(--text2);letter-spacing:1px}.search-wrap{position:relative;margin-bottom:16px}.search-input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px 10px 36px;color:var(--text);font-family:var(--font-body);font-size:13px;outline:none;transition:border-color .15s}.search-input::placeholder{color:var(--text3)}.search-input:focus{border-color:var(--border2)}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text3);font-size:14px}@media(max-width:480px){.main{padding:16px 14px 80px}.page-title{font-size:40px}.exam-options{grid-template-columns:1fr}}.app-footer{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px 16px;border-top:1px solid var(--border);background:var(--surface);font-size:12px;color:var(--text3);letter-spacing:.5px}.footer-link{background:none;border:none;color:var(--accent);font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s,color .15s}.footer-link:hover{background:var(--accent-glow);color:var(--accent2)}.footer-sep,.footer-copy{color:var(--text3)}.privacy-page{max-width:720px;margin:0 auto;padding:8px 4px 40px;color:var(--text);line-height:1.7}.privacy-badge{display:inline-block;background:var(--accent);color:#fff;font-family:var(--font-display);font-size:11px;font-weight:800;letter-spacing:1.5px;padding:5px 12px;border-radius:20px;margin-bottom:18px}.privacy-title{font-family:var(--font-display);font-size:48px;font-weight:900;line-height:1;letter-spacing:-1px;color:var(--text);margin-bottom:8px;text-transform:uppercase}.privacy-updated{font-family:var(--font-mono);font-size:12px;color:var(--text3);margin-bottom:32px;letter-spacing:.5px}.privacy-intro{font-size:15px;color:var(--text2);margin-bottom:18px}.privacy-h2{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--text);margin:36px 0 12px;text-transform:uppercase;letter-spacing:.5px;padding-bottom:8px;border-bottom:2px solid var(--border2)}.privacy-page p{font-size:14px;color:var(--text2);margin-bottom:14px}.privacy-page strong{color:var(--text)}.privacy-page a{color:var(--accent);text-decoration:none;border-bottom:1px dashed var(--accent);transition:color .15s}.privacy-page a:hover{color:var(--accent2);border-bottom-color:var(--accent2)}.privacy-list{margin:0 0 16px 22px}.privacy-list li{font-size:14px;color:var(--text2);margin-bottom:8px}.privacy-contact{background:var(--surface2);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);padding:18px 22px;margin-top:12px}.privacy-contact p{margin-bottom:0;color:var(--text)}.privacy-footer{margin-top:48px;padding-top:20px;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:11px;color:var(--text3);text-align:center;line-height:1.6}@media(max-width:480px){.privacy-title{font-size:36px}.privacy-h2{font-size:18px}}.lang-switcher{display:flex;gap:4px;flex-wrap:wrap;padding:6px 0;justify-content:flex-end}.lang-btn{font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#555;cursor:pointer;transition:all .15s ease;white-space:nowrap;line-height:1.4}.lang-btn:hover{color:#ccc;border-color:#ffffff40;background:#ffffff0d}.lang-btn.active{background:#ff4d2e26;border-color:#ff4d2e80;color:#ff4d2e}@media(max-width:600px){.lang-switcher{gap:3px;justify-content:flex-start}.lang-btn{font-size:10px;padding:3px 7px}}
