@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg-page: #0B1220;--bg-card: #0F172A;--bg-card-hover: #161E33;--primary: #3B82F6;--primary-glow: rgba(59, 130, 246, .4);--secondary: #8B5CF6;--secondary-glow: rgba(139, 92, 246, .4);--text-primary: #E2E8F0;--text-secondary: #94A3B8;--text-muted: #64748B;--border-subtle: rgba(255, 255, 255, .06);--border-hover: rgba(59, 130, 246, .4);--divider: rgba(255, 255, 255, .04);--space-8: 8px;--space-16: 16px;--space-24: 24px;--space-32: 32px;--space-48: 48px;--space-64: 64px;--font-section-title: 32px;--font-phase-title: 22px;--font-card-title: 18px;--font-body: 14px;--font-tag: 11px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-page);background:radial-gradient(circle at top right,rgba(59,130,246,.08),transparent 40%),var(--bg-page);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}.container{max-width:1280px;margin:0 auto;padding:0 var(--space-32)}@media(max-width:768px){.container{padding:0 var(--space-20)}}@media(max-width:480px){.container{padding:0 var(--space-16)}}.section{margin-bottom:var(--space-64)}.section-header{margin-bottom:var(--space-32);padding-bottom:var(--space-16);border-bottom:1px solid var(--divider)}.section-title{font-size:var(--font-section-title);font-weight:700;letter-spacing:-.5px;margin-bottom:var(--space-8)}.section-subtitle{font-size:var(--font-body);color:var(--text-secondary)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-24)}@media(max-width:1024px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-3{grid-template-columns:1fr}}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;padding:var(--space-24);display:flex;flex-direction:column;gap:var(--space-16);transition:all .25s ease;height:100%;position:relative;cursor:pointer}.card:hover{transform:translateY(-4px);border-color:var(--border-hover);box-shadow:0 10px 30px #0006}.card-title{font-size:var(--font-card-title);font-weight:600;color:var(--text-primary)}.card-description{font-size:var(--font-body);color:var(--text-secondary);line-height:1.6}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:.2s ease;border:none;gap:var(--space-8)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.btn-primary:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 6px 20px var(--primary-glow)}.btn-secondary{background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--text-primary)}.btn-secondary:hover{background:#ffffff0d}.badge{padding:4px 10px;border-radius:999px;font-size:var(--font-tag);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-language{background:#3b82f626;color:#60a5fa}.badge-skill{background:#10b98126;color:#34d399}.badge-roadmap{background:#8b5cf626;color:#a78bfa}.badge-muted{background:#ffffff0d;color:var(--text-muted)}.icon-action{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#ffffff0a;transition:all .2s ease;color:var(--text-muted)}.icon-action:hover{scale:1.1;background:#ffffff14}.icon-action.active-star{color:#facc15;opacity:1}.icon-action.active-check{color:#22c55e;opacity:1}.phase-list{border-left:2px solid rgba(255,255,255,.1);padding-left:var(--space-32);margin-left:var(--space-8);display:grid;gap:var(--space-48)}.phase-item{position:relative}.phase-indicator{position:absolute;left:-39px;top:10px;width:12px;height:12px;border-radius:50%;background:var(--text-muted)}.phase-indicator.active{background:var(--primary);box-shadow:0 0 10px var(--primary-glow)}.phase-indicator.completed{background:#22c55e}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-page)}::-webkit-scrollbar-thumb{background:var(--bg-card);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.gradient-text{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.glass{background:#0f172acc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
