.dashboard{width:100%;max-width:1320px;color:var(--text-primary);text-align:start;--glass-blur:32px;margin:0 auto;padding:clamp(16px,2.2vw,32px);font-family:system-ui,-apple-system,sans-serif}.dashboard :where(.welcome-section,.resume-card,.stat-card,.achievements-header-card,.xp-container,.achievement-stats,.badge-card-large,.tier-card){background-color:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(var(--glass-blur))}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.dashboard :where(.welcome-section,.resume-card,.stat-card,.achievements-header-card,.xp-container,.achievement-stats,.badge-card-large,.tier-card){background-color:var(--glass-bg-strong)}}.dashboard-loading{min-height:100vh;color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.dashboard-spinner{border:3px solid #ffffff24;border-top-color:var(--gold);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite dashboard-spin}.dashboard-loading-text{color:#ffffffd9;margin:0;font-size:1rem}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.welcome-section{-webkit-backdrop-filter:blur(var(--glass-blur));background:linear-gradient(135deg,#202020e6 0%,#161616d9 100%);border:1px solid #ffffff14;border-radius:24px;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:3rem;padding:2rem;display:flex}.welcome-content h1{background:linear-gradient(45deg,var(--text-primary),var(--text-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:2.5rem}.welcome-message{color:#fffc;margin:0;font-size:1.1rem}.resume-card{background:var(--glass-bg);border:1px solid var(--glass-border);min-width:400px;-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:16px;align-items:center;gap:1.5rem;padding:1rem;display:flex}.resume-thumbnail{border-radius:8px;flex-shrink:0;width:140px;height:80px;position:relative;overflow:hidden}.resume-thumbnail img{object-fit:cover;width:100%;height:100%}.resume-thumbnail-fallback{background:linear-gradient(135deg,#ffffff14,#ffffff05);width:100%;height:100%}.resume-progress{background:var(--shadow-color);height:4px;position:absolute;bottom:0;left:0;right:0}.progress-fill{background:#3b82f6;border-radius:0 2px 2px 0;height:100%}.resume-info{flex-direction:column;flex:1;justify-content:center;display:flex}.resume-label{color:#fff9;text-transform:uppercase;letter-spacing:1px;margin-bottom:.25rem;font-size:.75rem}.resume-info h3{color:var(--text-primary);margin:0 0 .25rem;font-size:1rem;line-height:1.4}.resume-info p{color:#ffffffb3;margin:0;font-size:.8rem}.resume-button{background:var(--text-primary);color:var(--bg-primary);white-space:nowrap;border-radius:99px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:transform .2s;display:flex}.resume-button:hover{background:var(--text-secondary);transform:scale(1.05)}.stats-section{margin-bottom:4rem}.stats-section h2,.badges-section h2,.learning-path-section h2{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.stat-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:16px;align-items:center;gap:1rem;padding:1.5rem;transition:transform .2s,border-color .2s,background-color .2s,box-shadow .2s;display:flex}.stat-card:hover{border-color:var(--glass-border-strong);background:var(--glass-bg-strong);box-shadow:var(--glass-shadow);transform:translateY(-4px)}.stat-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-card .stat-icon{color:var(--gold);background:#ffffff0f}.stat-content{flex-direction:column;display:flex}.stat-card :is(.stat-content,.stat-info){flex-direction:column;gap:2px;min-width:0;display:flex}.stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.2}.stat-label{color:#ffffffb3;font-size:.85rem}.stat-gold .stat-icon{color:#fff;background:#d4af371a}.stat-blue .stat-icon{color:#3b82f6;background:#3b82f61a}.stat-green .stat-icon{color:#22c55e;background:#22c55e1a}.stat-orange .stat-icon{color:#f97316;background:#f973161a}.stat-purple .stat-icon{color:#a855f7;background:#a855f71a}.stat-pink .stat-icon{color:#ec4899;background:#ec48991a}.badges-section{margin-bottom:4rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.view-all{color:#ffffffb3;font-size:.9rem;text-decoration:none;transition:color .2s}.view-all:hover{color:var(--text-primary)}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1.5rem;display:grid}.badge-card{background:var(--glass-bg);text-align:center;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:16px;padding:1.5rem;transition:transform .2s;position:relative;overflow:hidden}.badge-card:hover{transform:translateY(-4px)}.badge-card:before{content:"";background:var(--tier-color,var(--border-color));width:100%;height:4px;position:absolute;top:0;left:0}.badge-icon{background:var(--bg-tertiary);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1rem;padding:12px;display:flex}.badge-icon img{object-fit:contain;width:100%;height:100%}.badge-info h4{color:var(--text-primary);margin:0 0 .5rem;font-size:1rem}.badge-info p{color:#ffffffb3;margin:0 0 .5rem;font-size:.8rem;line-height:1.4}.badge-date{color:#ffffff80;font-size:.75rem;display:block}.badge-tier{background:var(--bg-tertiary);color:var(--text-muted);text-transform:uppercase;border-radius:4px;padding:.2rem .5rem;font-size:.6rem;position:absolute;top:1rem;right:1rem}.no-badges{text-align:center;background:var(--bg-secondary);border:1px dashed var(--border-color);color:var(--text-secondary);border-radius:16px;grid-column:1/-1;padding:3rem}.learning-path-preview{flex-direction:column;gap:1rem;display:flex}.tier-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:16px;align-items:center;gap:1.5rem;padding:1.5rem;display:flex;position:relative}.tier-icon{background:var(--bg-tertiary);border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;font-size:2rem;display:flex}.tier-info{flex:1}.tier-info h4{color:var(--text-primary);margin:0 0 .25rem;font-size:1.1rem}.tier-info p{color:#ffffffb3;margin:0;font-size:.9rem}.progress-ring{width:56px;height:56px;position:relative}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:var(--bg-tertiary);stroke-width:3px}.progress-ring-fill{fill:none;stroke:#3b82f6;stroke-width:3px;stroke-linecap:round;transition:stroke-dasharray .3s}.progress-ring .progress-text{color:var(--text-primary);font-size:.8rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tier-connector{background:var(--border-color);z-index:0;width:2px;height:1rem;position:absolute;bottom:-1rem;left:2.7rem}@media (max-width:768px){.dashboard{padding:1rem}.welcome-section{flex-direction:column;align-items:stretch;padding:1.5rem}.resume-card{flex-direction:column;align-items:flex-start;width:100%;min-width:0}.resume-thumbnail{width:100%;height:180px}.resume-info{width:100%}.resume-button{justify-content:center;width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.tier-card{text-align:center;flex-direction:column;gap:1rem}.tier-connector{display:none}.tier-info h4{justify-content:center}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.achievements-section{margin-bottom:4rem}.achievements-header-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:24px;flex-direction:column;gap:2rem;margin-bottom:2rem;padding:2rem;display:flex}.achievements-grid-content{align-items:stretch;gap:1.5rem;display:flex}@media (max-width:768px){.achievements-grid-content{flex-direction:column}}.achievements-title{align-items:center;gap:1rem;margin:0;display:flex}.achievements-title svg{color:#fff;width:32px;height:32px}.achievements-title h2{color:var(--text-primary);margin:0;font-size:1.5rem}.achievements-title p{color:#ffffffb3;margin:0;font-size:.9rem}.xp-container{border:1px solid var(--border-color);background:#2a2a2ab3;border-radius:16px;flex:1.5;min-width:300px;padding:1.5rem}@media (max-width:480px){.xp-container{min-width:100%}}.xp-info{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.xp-badge{background:#8b5cf6;border-radius:12px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.xp-value{color:#fff;font-size:1.2rem;font-weight:700}.xp-progress-bar{background:#ffffff0d;border-radius:6px;height:12px;margin-bottom:.5rem;overflow:hidden}.xp-fill{background:linear-gradient(90deg,#8b5cf6,#d946ef);border-radius:6px;height:100%;transition:width 1s ease-in-out}.xp-next-level{color:var(--text-muted);font-size:.8rem}.achievement-stats{border:1px solid var(--border-color);background:#2a2a2ab3;border-radius:16px;flex:1;justify-content:space-around;align-items:center;min-width:300px;padding:1.5rem;display:flex}@media (max-width:480px){.achievement-stats{flex-wrap:wrap;gap:1rem;min-width:100%}.stat-item{flex:40%}.stat-divider{display:none}}.stat-item{text-align:center;flex-direction:column;gap:.5rem;display:flex}.stat-item.highlight .stat-value{color:#fff;background:#ffffff1a;border-radius:8px;padding:.2rem .8rem}.stat-item .stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.stat-item .stat-label{color:var(--text-secondary);font-size:.9rem}.stat-divider{background:var(--border-color);width:1px;height:40px}.achievements-filter{gap:1rem;margin-bottom:2rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.filter-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:20px;padding:.5rem 1.5rem;transition:all .2s}.filter-btn.active,.filter-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.badges-grid-large{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}@media (max-width:480px){.badges-grid-large{grid-template-columns:1fr}}.badge-card-large{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;align-items:center;gap:1.5rem;padding:1.5rem;transition:transform .2s,background .2s;display:flex;position:relative;overflow:hidden}.badge-card-large:hover{border-color:var(--border-color);background:#333c;transform:translateY(-4px)}.badge-card-large.locked{opacity:.7;filter:grayscale()}.badge-status-label{background:var(--bg-tertiary);color:#fff9;border-radius:6px;padding:.2rem .6rem;font-size:.7rem;position:absolute;top:1rem;left:1rem;right:auto}.badge-icon-large{background:var(--bg-tertiary);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.badge-icon-large img{width:40px;height:40px}.badge-icon-large-fallback{opacity:.9;font-size:24px;line-height:1}.badge-info-large{flex:1}.badge-info-large h4{color:var(--text-primary);margin:0 0 .5rem;font-size:1.1rem}.badge-info-large p{color:#ffffffb3;margin:0 0 1rem;font-size:.85rem;line-height:1.4}.badge-meta{justify-content:space-between;align-items:center;display:flex}.xp-reward{color:#fff;background:#ffffff1a;border-radius:6px;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.badge-date{color:var(--text-tertiary);font-size:.8rem}
