:root{--bg:#0f1020;--surface:#17192f;--surface-2:#1f2342;--text:#f8fafc;--muted:#aab3d0;--primary:#7c4dff;--secondary:#06d6a0;--accent:#ffb703;--danger:#ff5d73;--border:#2d325c}*{box-sizing:border-box}body,html{margin:0;padding:0;max-width:100%;overflow-x:hidden}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(circle at 10% 10%,#24285a 0,var(--bg) 40%),var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}.container{max-width:1080px;margin:0 auto;padding:24px}.card{background:linear-gradient(180deg,var(--surface) 0,var(--surface-2) 100%);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.25)}.row{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:12px;border:1px solid transparent;font-weight:700;cursor:pointer}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:#243a65;color:#fff;border-color:#365186}.input,.select,.textarea{width:100%;background:#12152a;border:1px solid var(--border);color:var(--text);border-radius:12px;padding:10px 12px;font-size:16px}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted);font-size:12px}.kpi{font-size:28px;font-weight:800}.muted{color:var(--muted)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px}.grid-2,.grid-3{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px}.chapter-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-map{display:grid;grid-gap:8px;gap:8px}.chapter-map-row{display:grid;grid-template-columns:34px 1fr;grid-gap:10px;gap:10px;align-items:stretch}.chapter-rail{display:grid;justify-items:center;grid-template-rows:auto 1fr}.chapter-node{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;border:1px solid var(--border);background:#252a52;color:#d9def2}.node-complete{background:rgba(6,214,160,.2);border-color:rgba(6,214,160,.5);color:#8ef6d6}.node-unlocked{background:rgba(124,77,255,.25);border-color:rgba(124,77,255,.55)}.node-locked{opacity:.65}.node-current{box-shadow:0 0 0 3px rgba(6,214,160,.2)}.chapter-link{width:2px;height:100%;margin-top:6px;background:linear-gradient(180deg,#3f467f,rgba(63,70,127,.25));border-radius:99px}.chapter-card{border:1px solid var(--border);border-radius:16px;padding:16px;background:linear-gradient(180deg,#1a1f44,#161a36)}.chapter-card-current{border-color:#06d6a0;box-shadow:0 0 0 1px rgba(6,214,160,.25),0 10px 24px rgba(0,0,0,.25)}.chapter-card-locked{opacity:.65;filter:saturate(.8)}.continue-dock{position:fixed;left:50%;transform:translateX(-50%);bottom:12px;width:min(1080px,calc(100% - 24px));background:rgba(16,18,36,.92);border:1px solid var(--border);border-radius:14px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:30}.learn-hero{display:grid;grid-gap:10px;gap:10px}.learn-progress-track{height:12px;background:#252a52;border-radius:999px;overflow:hidden}.learn-progress-bar{height:100%;background:linear-gradient(90deg,#06d6a0,#7c4dff);transition:width .2s ease}.learn-card{max-width:760px}.question-shell{border-color:#3b4279}.question-title{line-height:1.25}.option-list{margin-top:4px}.learn-option{width:100%;padding:14px 16px;border-radius:14px}.learn-option:hover{transform:translateY(-1px)}.learn-cta{width:100%;max-width:320px;padding:12px 16px}.sticky-action-row{position:-webkit-sticky;position:sticky;bottom:8px;background:linear-gradient(180deg,rgba(15,16,32,0),rgba(15,16,32,.88) 40%);padding-top:12px}.feedback-chip{margin:0;padding:10px 12px;border-radius:12px;border:1px solid var(--border);animation:popIn .2s ease}.feedback-good{color:#8ef6d6;background:rgba(6,214,160,.1);border-color:rgba(6,214,160,.35)}.feedback-warn{color:#ffd166;background:rgba(255,183,3,.12);border-color:rgba(255,183,3,.35)}.reward-overlay{position:fixed;inset:0;pointer-events:none;display:flex;align-items:flex-start;justify-content:center;padding-top:16px;z-index:40}.reward-modal{width:min(680px,calc(100% - 20px));border-color:rgba(6,214,160,.45);animation:popIn .22s ease}.mobile-footer-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:max(8px,env(safe-area-inset-bottom));width:min(760px,calc(100% - 16px));background:rgba(18,21,42,.96);border:1px solid var(--border);border-radius:16px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:4px;gap:4px;padding:6px;z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-footer-item{border-radius:12px;display:grid;justify-items:center;grid-gap:2px;gap:2px;color:var(--muted);font-size:11px;padding:8px 4px}.mobile-footer-icon{position:relative;display:inline-flex;align-items:center;justify-content:center}.mobile-footer-badge{position:absolute;top:-8px;right:-12px;min-width:16px;height:16px;border-radius:999px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;text-align:center;background:#ff5d73;color:#fff;border:1px solid hsla(0,0%,100%,.2)}.mobile-footer-item-active{color:#fff;background:rgba(124,77,255,.28);border:1px solid rgba(124,77,255,.5)}@keyframes popIn{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (min-width:601px){.mobile-footer-nav{display:none}}@media (max-width:900px){.chapter-grid,.grid-2,.grid-3{grid-template-columns:1fr}.continue-dock{width:calc(100% - 16px);bottom:8px}.continue-dock .btn{min-width:120px}.learn-cta{max-width:none}.courses-top-row,.dashboard-top-row,.learn-header-row{align-items:flex-start!important;gap:10px}}@media (max-width:600px){body.learn-question-open .mobile-footer-nav{display:none}.container{padding:14px max(14px,env(safe-area-inset-right)) calc(120px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.learn-screen{padding-bottom:calc(220px + env(safe-area-inset-bottom))!important}.card{padding:14px;border-radius:14px}.home-hero-card{padding:18px!important}.home-hero-title{font-size:32px!important;line-height:1.15}.home-hero-subtitle{font-size:16px!important}.home-hero-actions>.btn{width:100%}.kpi{font-size:24px}.btn{width:100%;min-height:48px;font-size:16px}.row{gap:8px}.learn-stats-row{width:100%}.learn-stats-row .badge{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 6px);justify-content:center}.learn-term-title{font-size:26px!important}.learn-term-definition{font-size:16px!important}.learn-question-title{font-size:24px!important}.learn-option{padding:14px 16px;min-height:48px;text-align:left}.input{font-size:16px;min-height:48px}.sticky-action-row{bottom:calc(86px + env(safe-area-inset-bottom));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.chapter-map-row{grid-template-columns:28px 1fr;gap:8px}.chapter-node{width:24px;height:24px;font-size:11px}.continue-dock{flex-direction:column;align-items:stretch;gap:10px;bottom:calc(72px + env(safe-area-inset-bottom));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right))}.continue-dock .btn{width:100%}.mobile-footer-nav{padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}.btn,.input,.learn-option{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.celebration-toast{position:fixed;top:calc(16px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:1000;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#78350f;font-weight:700;font-size:15px;box-shadow:0 10px 30px rgba(0,0,0,.15);animation:celebrationIn .22s cubic-bezier(.34,1.56,.64,1),celebrationOut .28s 1.9s forwards;pointer-events:none}.celebration-toast .celebration-emoji{font-size:22px;animation:emojiBounce .6s ease-in-out}.celebration-combo{background:linear-gradient(135deg,#fed7aa,#fb923c);color:#7c2d12}.celebration-gem{background:linear-gradient(135deg,#c7d2fe,#818cf8);color:#1e1b4b}.celebration-freeze{background:linear-gradient(135deg,#cffafe,#67e8f9);color:#164e63}.celebration-level{background:linear-gradient(135deg,#fde68a,#f59e0b);color:#78350f}.celebration-goal{background:linear-gradient(135deg,#d1fae5,#34d399);color:#064e3b}.celebration-mastered{background:linear-gradient(135deg,#ddd6fe,#a78bfa);color:#3b0764}@keyframes celebrationIn{0%{opacity:0;transform:translate(-50%,-16px) scale(.94)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes celebrationOut{to{opacity:0;transform:translate(-50%,-10px) scale(.96)}}@keyframes emojiBounce{0%,to{transform:scale(1)}40%{transform:scale(1.35) rotate(-8deg)}70%{transform:scale(.95) rotate(4deg)}}.xp-flash{position:fixed;top:64%;left:50%;transform:translateX(-50%);z-index:999;font-weight:800;font-size:28px;color:#10b981;text-shadow:0 2px 6px rgba(16,185,129,.25);animation:xpFloat 1.2s ease-out forwards;pointer-events:none}@keyframes xpFloat{0%{opacity:0;transform:translate(-50%,10px) scale(.9)}20%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-60px) scale(1)}}.combo-badge{background:linear-gradient(135deg,#fb923c,#ef4444);color:#fff;border:none;animation:comboPulse 1.4s ease-in-out infinite}@keyframes comboPulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 rgba(239,68,68,.5)}50%{transform:scale(1.05);box-shadow:0 0 0 6px rgba(239,68,68,0)}}.daily-goal-badge{display:inline-flex;align-items:center;gap:6px}.daily-goal-ring{display:inline-block;width:14px;height:14px;border-radius:50%;position:relative}.daily-goal-ring:after{content:"";position:absolute;inset:3px;background:var(--surface,#fff);border-radius:50%}.gamification-hero{background:linear-gradient(135deg,#f8fafc,#eff6ff)}.gh-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-gap:16px;gap:16px;align-items:center}.gh-league{gap:12px}.gh-league,.gh-league-emoji{display:flex;align-items:center}.gh-league-emoji{width:48px;height:48px;border-radius:50%;justify-content:center;font-size:24px;color:#fff;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.1)}.gh-bar{height:6px;background:#e5e7eb;border-radius:999px;margin-top:6px;overflow:hidden}.gh-bar-fill{height:100%;transition:width .3s ease-out}.gh-daily{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;cursor:pointer;font-family:inherit;transition:transform .12s}.gh-daily:hover{transform:translateY(-1px)}.gh-ring{width:56px;height:56px;flex-shrink:0}.gh-ring,.gh-ring-inner{border-radius:50%;display:flex;align-items:center;justify-content:center}.gh-ring-inner{width:44px;height:44px;background:#fff;flex-direction:column}.gh-stats{display:flex;gap:12px;justify-content:space-around}.gh-stat{display:flex;flex-direction:column;align-items:center;font-size:12px}.gh-stat-num{font-size:22px;font-weight:800;line-height:1}.gh-stat-label{color:#6b7280;margin-top:2px;font-size:11px}.gh-goal-picker{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin-top:12px}.gh-goal-option{display:flex;flex-direction:column;align-items:center;padding:10px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;font-family:inherit;transition:transform .12s,border-color .12s}.gh-goal-option:hover{transform:translateY(-1px);border-color:#2563eb}.gh-goal-active{border-color:#2563eb;background:#eff6ff}@media (max-width:700px){.gh-row{grid-template-columns:1fr;gap:12px}.gh-stats{justify-content:space-between}.gh-goal-picker{grid-template-columns:repeat(2,1fr)}}.mission-strip{background:linear-gradient(135deg,#fffbeb,#fef3c7)}.mission-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px;margin-top:12px}.mission-item{background:#fff;border:1px solid #fde68a;border-radius:10px;padding:10px 12px;transition:border-color .2s}.mission-item.mission-done{background:#ecfdf5;border-color:#a7f3d0}.mission-head{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.mission-title{font-weight:600}.mission-reward{font-size:12px;color:#92400e;background:#fef3c7;padding:2px 8px;border-radius:999px;white-space:nowrap}.mission-done .mission-reward{color:#065f46;background:#d1fae5}.mission-bar{height:5px;background:#fde68a;border-radius:999px;margin-top:8px;overflow:hidden}.mission-bar-fill{height:100%;transition:width .3s ease-out}.confusion-callout{margin-top:10px;padding:10px 12px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border-left:3px solid #f97316;border-radius:8px;font-size:13px;color:#7c2d12}.confusion-callout-title{display:flex;align-items:center;gap:6px;font-weight:700;margin-bottom:4px;font-size:12px;text-transform:uppercase;letter-spacing:.4px}.confusion-callout-list{margin:0;padding-left:18px}.confusion-callout-list li{margin:2px 0}.courses-screen{display:grid;grid-gap:20px;gap:20px;padding-bottom:110px}.courses-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.course-stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:10px;gap:10px;padding:14px;background:linear-gradient(135deg,var(--surface) 0,var(--surface-2) 100%);border:1px solid var(--border);border-radius:16px}.course-stat{display:flex;align-items:center;gap:10px;min-width:0}.course-stat-emoji{width:40px;height:40px;font-size:20px;box-shadow:0 4px 14px rgba(0,0,0,.25)}.course-stat-emoji,.goal-ring{border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.goal-ring{width:44px;height:44px}.goal-ring-inner{width:34px;height:34px;border-radius:50%;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.resume-hero{display:flex;align-items:stretch;gap:14px;padding:16px;background:linear-gradient(135deg,rgba(124,77,255,.15),rgba(6,214,160,.1));border:1px solid var(--border);border-radius:18px;color:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.resume-hero:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 12px 32px rgba(124,77,255,.25)}.resume-hero-emoji{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:30px;flex-shrink:0;box-shadow:inset 0 0 0 2px hsla(0,0%,100%,.15)}.resume-hero-body{flex:1 1;display:flex;flex-direction:column;justify-content:center;min-width:0}.resume-hero-title{font-size:20px;font-weight:700;margin-top:2px}.resume-hero-bar{height:6px;background:hsla(0,0%,100%,.1);border-radius:999px;overflow:hidden}.resume-hero-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));transition:width .24s ease-out}.resume-hero-cta{display:flex;align-items:center;font-weight:700;color:var(--secondary);white-space:nowrap;padding:0 8px}.course-section{display:grid;grid-gap:12px;gap:12px}.course-section-header{display:flex;align-items:center;gap:10px}.course-section-header h2{font-size:18px}.course-section-icon{font-size:22px;width:36px;height:36px;border-radius:10px;background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.course-tile{background:linear-gradient(180deg,var(--surface) 0,var(--surface-2) 100%);border:1px solid var(--border);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.course-tile:hover{transform:translateY(-3px);border-color:var(--primary);box-shadow:0 16px 40px rgba(0,0,0,.4)}.course-tile-locked{opacity:.7}.course-tile-locked:hover{transform:none;border-color:var(--border);box-shadow:none}.course-tile-emoji-block{position:relative;height:110px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.course-tile-emoji{font-size:52px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35))}.course-tile-ring{position:absolute;top:10px;right:10px;width:44px;height:44px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.course-tile-ring,.course-tile-ring-inner{border-radius:50%;display:flex;align-items:center;justify-content:center}.course-tile-ring-inner{width:34px;height:34px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;font-weight:800}.course-tile-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1 1}.course-tile-title{margin:0;font-size:18px;font-weight:700;line-height:1.25}.course-tile-meta{margin:0;font-size:13px}.course-tile-actions{margin-top:auto;padding-top:8px;display:flex;justify-content:flex-end}.course-tile-actions .btn{width:auto;padding:8px 14px;font-size:14px;border-radius:999px}@media (max-width:600px){.course-grid{grid-template-columns:1fr}.course-stats-strip{grid-template-columns:repeat(2,1fr)}.resume-hero{flex-wrap:wrap}.resume-hero-cta{width:100%;justify-content:center;padding:8px 0 0}}