.roadmap-container{max-width:1100px;margin:0 auto;padding:2rem}.roadmap-header{text-align:center;background:linear-gradient(135deg,#1e293b 0%,#334155 100%);border:1px solid #475569;border-radius:14px;margin-bottom:2rem;padding:2rem 1.5rem}.roadmap-title{color:#e3e8f0;margin:0 0 .6rem;font-size:2.3rem;font-weight:700}.roadmap-desc{color:#a5b4fc;margin:0;font-size:1.05rem}.roadmap-category{background:#1f2533;border:1px solid #2d3442;border-radius:14px;margin-bottom:1.7rem;padding:1.4rem 1.3rem}.category-name{color:#7dd3fc;margin:0 0 1rem;font-size:1.4rem;font-weight:600;position:relative}.category-name:after{content:"";background:linear-gradient(90deg,#7dd3fc,#a5b4fc);border-radius:2px;width:60px;height:3px;margin-top:.5rem;display:block}.category-items{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.roadmap-item{background:#232a38;border:1px solid #303846;border-radius:10px;flex-direction:column;gap:.5rem;padding:.9rem 1rem 1rem;display:flex}.item-header{color:#e3e8f0;justify-content:space-between;align-items:center;font-weight:600;display:flex}.item-tech{font-size:.95rem}.item-level{letter-spacing:.5px;color:#7dd3fc;background:#0f172a;border:1px solid #334155;border-radius:6px;padding:.25rem .55rem;font-size:.75rem}.progress-bar{background:#303846;border-radius:5px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#4f46e5,#7dd3fc);height:100%;transition:width .5s}.item-goal{color:#94a3b8;margin:0;font-size:.8rem}.item-goal span{color:#cbd5e1;font-weight:500}.loading-small{text-align:center;color:#cbd5e1;padding:2rem}.error-message{text-align:center;padding:2rem}@media (min-width:769px){.category-items{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:768px){.roadmap-title{font-size:2rem}.roadmap-header{padding:1.5rem 1.2rem}.category-items{grid-template-columns:1fr}}@media (max-width:480px){.roadmap-container{padding:1.2rem}.roadmap-title{font-size:1.7rem}.roadmap-category{padding:1.1rem 1rem}.roadmap-item{padding:.75rem .8rem .85rem}}@media (prefers-reduced-motion:reduce){.progress-fill{transition:none}}
