/* ======================================================
   GAMIFICATION — PROFILE BAR
====================================================== */
.profile{padding:8px 22px;background:var(--s2);border-bottom:1px solid rgba(255,255,255,0.04);display:flex;align-items:center;gap:12px;font-size:10px}
.profile-info{flex:1}
.profile-name{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#E8573A}
.profile-level{font-size:8px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#555;margin-top:2px}
.xp-bar{flex:1;max-width:200px}
.xp-label{font-size:7px;font-weight:700;letter-spacing:1px;color:#555;margin-bottom:3px;display:flex;justify-content:space-between}
.xp-track{height:3px;background:#222;position:relative;overflow:hidden}
.xp-fill{height:100%;background:linear-gradient(90deg,#E8573A,#FF8F77);width:0%;transition:width 1.5s cubic-bezier(.4,0,.2,1);position:relative}
.xp-fill::after{content:'';position:absolute;right:0;top:-1px;width:6px;height:5px;background:#CCFF00;box-shadow:0 0 8px #CCFF00}
.profile-stats{display:flex;gap:14px}
.ps{text-align:center}
.ps-val{font-size:14px;font-weight:900;font-family:'JetBrains Mono',monospace}
.ps-val.o{color:#E8573A}.ps-val.l{color:#CCFF00}
.ps-lbl{font-size:6px;font-weight:700;letter-spacing:1.5px;color:#555;text-transform:uppercase}

/* ======================================================
   GAMIFICATION — SECTION HEADER (sh)
====================================================== */
.sh{display:flex;align-items:center;gap:10px;padding:8px 22px 6px;border-bottom:1px solid rgba(255,255,255,0.04)}
.sh-t{font-size:8px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#555;white-space:nowrap;font-family:'JetBrains Mono',monospace}
.sh-line{flex:1;height:1px;background:rgba(255,255,255,0.04)}

/* Section header accent underline */
.sh { position:relative; }
.sh::after {
  content:'';
  position:absolute;
  bottom:0;
  left:22px;
  width:30px;
  height:2px;
  background:var(--o);
}

/* ======================================================
   GAMIFICATION — TAB SWITCHER
====================================================== */
.tabs{display:flex;background:var(--bg);border-bottom:1px solid rgba(255,255,255,0.04)}
.tab{flex:1;padding:10px;font-size:8px;font-weight:800;letter-spacing:2px;text-transform:uppercase;text-align:center;color:#555;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent}
.tab:hover{color:#AAA}
.tab.on{color:#E8573A;border-bottom-color:#E8573A}
.tab-content{display:none}.tab-content.on{display:block}
@keyframes xpFloat {
  0% { opacity:1; transform:translateY(0) scale(1); }
  50% { opacity:0.8; transform:translateY(-30px) scale(1.2); }
  100% { opacity:0; transform:translateY(-60px) scale(0.8); }
}

/* ======================================================
   QUIZ — Daily Challenge
====================================================== */
.quiz-wrap{padding:16px 22px}
.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.quiz-label{font-size:8px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--o);font-family:var(--m)}
.quiz-score{font-size:8px;font-weight:700;letter-spacing:1.5px;color:var(--t3);font-family:var(--m)}
.quiz-progress-label{font-size:7px;font-weight:700;letter-spacing:1px;color:var(--t3);font-family:var(--m)}
.quiz-xp-hint{font-size:7px;font-weight:700;letter-spacing:1px;color:var(--l);font-family:var(--m);opacity:0.7}
.quiz-progress-track{height:2px;background:var(--s3);margin-bottom:14px;overflow:hidden}
.quiz-progress-fill{height:100%;background:linear-gradient(90deg,var(--o),var(--o2));transition:width .4s ease}
.quiz-category{font-size:7px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--o);margin-bottom:6px;font-family:var(--m)}
.quiz-question{font-size:11px;font-weight:600;color:var(--t);line-height:1.5;margin-bottom:14px}
.q-opt{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--s1);margin-bottom:4px;cursor:pointer;border-left:2px solid transparent;transition:all .15s}
.q-opt:hover{background:var(--s2)}
.q-opt-letter{font-size:9px;font-weight:800;color:var(--o);font-family:var(--m);min-width:14px}
.q-opt-text{font-size:10px;color:var(--t2);flex:1}
.q-opt-hint{font-size:8px;color:var(--t3);font-style:italic;margin-left:auto}
.quiz-submit{padding:10px;text-align:center;font-size:8px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--bg);background:var(--o);cursor:pointer;margin-top:12px;transition:opacity .2s;font-family:var(--m)}
.quiz-submit:hover{opacity:0.85}
.quiz-feedback{display:none;padding:10px 14px;margin-top:10px;font-size:9px;line-height:1.6}
.quiz-next{display:none;padding:10px;text-align:center;font-size:8px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--o);border:1px solid var(--o);cursor:pointer;margin-top:8px;transition:all .2s;font-family:var(--m)}
.quiz-next:hover{background:var(--og);color:var(--t)}
.quiz-radar-wrap{padding:16px 22px;border-top:1px solid rgba(255,255,255,0.04);margin-top:16px}
.quiz-radar-title{font-size:8px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--t3);font-family:var(--m);margin-bottom:10px}
.quiz-radar-svg{display:flex;justify-content:center}
.quiz-results{padding:30px 22px;text-align:center}
.quiz-results-title{font-size:8px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--t3);font-family:var(--m);margin-bottom:16px}
.quiz-results-pct{font-size:48px;font-weight:900;font-family:var(--m);line-height:1;margin-bottom:6px}
.quiz-results-score{font-size:10px;font-weight:700;color:var(--t2);margin-bottom:4px}
.quiz-results-xp{font-size:9px;font-weight:700;color:var(--l);font-family:var(--m);margin-bottom:20px}
.quiz-results-actions{display:flex;gap:8px;justify-content:center;margin-bottom:16px}
.quiz-btn-primary{padding:10px 24px;font-size:8px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--bg);background:var(--o);cursor:pointer;font-family:var(--m);transition:opacity .2s}
.quiz-btn-primary:hover{opacity:0.85}
.quiz-btn-secondary{padding:10px 24px;font-size:8px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--t3);border:1px solid var(--s3);cursor:pointer;font-family:var(--m);transition:all .2s}
.quiz-btn-secondary:hover{color:var(--t2);border-color:var(--t3)}
.quiz-results-msg{font-size:9px;color:var(--t3);line-height:1.5;max-width:280px;margin:0 auto}

/* ======================================================
   ROADMAP — Vertical Timeline
====================================================== */
.roadmap-header{padding:12px 22px;border-bottom:1px solid rgba(255,255,255,0.04)}
.roadmap-title{font-size:8px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--t3);font-family:var(--m)}
.roadmap-level{font-size:7px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--o);font-family:var(--m);margin-top:3px}
.roadmap-timeline{padding:16px 22px 16px 40px;position:relative}
.roadmap-timeline::before{content:'';position:absolute;left:34px;top:0;bottom:0;width:1px;background:var(--s3)}
.roadmap-phase{display:flex;align-items:flex-start;gap:14px;position:relative;padding-bottom:20px}
.roadmap-phase:last-child{padding-bottom:0}
.roadmap-dot{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8px;flex-shrink:0;position:relative;z-index:1;margin-left:-16px}
.roadmap-phase.available .roadmap-dot{background:var(--og);color:var(--o);border:1.5px solid var(--o);box-shadow:0 0 10px rgba(232,87,58,0.3)}
.roadmap-phase.completed .roadmap-dot{background:var(--lg);color:var(--l);border:1.5px solid var(--l);box-shadow:0 0 10px rgba(204,255,0,0.3)}
.roadmap-phase.locked .roadmap-dot{background:var(--s2);color:var(--t3);border:1.5px solid var(--s3)}
.roadmap-content{flex:1;min-width:0}
.roadmap-phase-title{font-size:10px;font-weight:700;color:var(--t);margin-bottom:3px}
.roadmap-phase.locked .roadmap-phase-title{color:var(--t3)}
.roadmap-phase-desc{font-size:8px;color:var(--t2);line-height:1.5;margin-bottom:6px}
.roadmap-phase.locked .roadmap-phase-desc{color:var(--t3);opacity:0.6}
.roadmap-skills{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}
.roadmap-skill{font-size:7px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:2px 6px;background:var(--s2);color:var(--t3);font-family:var(--m)}
.roadmap-phase.available .roadmap-skill{background:var(--og);color:var(--o)}
.roadmap-phase.completed .roadmap-skill{background:var(--lg);color:var(--l)}
.roadmap-unlock{font-size:7px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--t3);font-family:var(--m)}
.roadmap-phase.locked .roadmap-unlock{color:var(--r);opacity:0.7}

/* ======================================================
   DICTIONARY — IT Glossary
====================================================== */
.dict-header{padding:12px 22px;border-bottom:1px solid rgba(255,255,255,0.04)}
.dict-title{font-size:8px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--t3);font-family:var(--m);margin-bottom:8px}
.dict-search{width:100%;padding:7px 10px;font-size:9px;background:var(--s1);border:1px solid var(--s3);color:var(--t);outline:none;font-family:var(--f);transition:border-color .2s}
.dict-search::placeholder{color:var(--t3);font-size:8px}
.dict-search:focus{border-color:var(--o)}
.dict-list{padding:4px 0}
.dict-item{display:flex;gap:10px;padding:8px 22px;border-left:2px solid var(--o);margin-bottom:0;transition:background .15s}
.dict-item:hover{background:var(--s1)}
.dict-item:nth-child(even){border-left-color:var(--l)}
.dict-term{font-size:9px;font-weight:800;font-family:var(--m);min-width:100px;flex-shrink:0;letter-spacing:0.5px}
.dict-def{font-size:9px;color:var(--t2);line-height:1.5}
