@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-block{background:linear-gradient(90deg,#fff6 25%,#ffffffb3 50%,#fff6 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.skeleton-problem-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow);flex-direction:column;height:220px;padding:1.5rem;display:flex;position:relative;overflow:hidden}.skeleton-problem-card:before{content:"";background:linear-gradient(90deg,#e0e0e0 0%,#f0f0f0 100%);width:100%;height:4px;position:absolute;top:0;left:0}.skeleton-problem-card .skeleton-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.skeleton-problem-card .skeleton-description{flex-direction:column;gap:8px;margin:.8rem 0;display:flex}.skeleton-problem-card .skeleton-tags{gap:.4rem;margin:auto 0 1rem;display:flex}.skeleton-problem-card .skeleton-meta{border-top:1px solid #e8e8e8;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;display:flex}.skeleton-dashboard{max-width:1200px;margin:0 auto;padding:2rem}.skeleton-dashboard-header{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:3rem;display:flex}.skeleton-stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.skeleton-stat-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--glass-radius);text-align:center;box-shadow:var(--glass-shadow);flex-direction:column;align-items:center;gap:.75rem;padding:2rem;display:flex}.skeleton-stat-card .skeleton-icon{margin-bottom:.5rem}.skeleton-stat-card .skeleton-value{margin-bottom:.25rem}.skeleton-progress-section{grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem;display:grid}@media (max-width:768px){.skeleton-progress-section{grid-template-columns:1fr}}.skeleton-level-card,.skeleton-rewards-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow);padding:2rem}.skeleton-level-badge{margin:1.5rem 0}.skeleton-progress{flex-direction:column;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.skeleton-rewards-list{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.skeleton-reward-item{background:#f8f9fa;border-radius:8px;align-items:center;gap:1rem;padding:1rem;display:flex}.skeleton-actions{text-align:center;margin-top:2rem}.skeleton-action-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.skeleton-problem-detail{max-width:900px;margin:0 auto;padding:2rem}.skeleton-problem-detail .skeleton-back-btn{margin-bottom:1.5rem}.skeleton-problem-header{margin-bottom:2rem}.skeleton-badges{gap:.75rem;margin-top:1rem;display:flex}.skeleton-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.skeleton-content{flex-direction:column;gap:2rem;display:flex}.skeleton-section{flex-direction:column;gap:.75rem;display:flex}.skeleton-constraints{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.skeleton-example-box{margin-top:.5rem}.skeleton-editor{margin-top:1rem}.skeleton-chapter-list{flex-direction:column;gap:1rem;max-width:800px;margin:0 auto;display:flex}.skeleton-chapter-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow);align-items:flex-start;gap:1.5rem;padding:1.5rem;display:flex}.skeleton-chapter-number{flex-shrink:0}.skeleton-chapter-content{flex-direction:column;flex:1;gap:.5rem;display:flex}.skeleton-chapter-meta{gap:.75rem;margin-top:.5rem;display:flex}.skeleton-home{max-width:1200px;margin:0 auto;padding:2rem}.skeleton-home-header{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:3rem;display:flex}.skeleton-tiles-container{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.skeleton-home-tile{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--glass-radius);box-shadow:var(--glass-shadow);text-align:center;flex-direction:column;align-items:center;gap:1rem;min-height:350px;padding:2rem;display:flex}.skeleton-tile-badge{margin-bottom:.5rem}.skeleton-tile-icon{margin:.5rem 0}.skeleton-tile-features{flex-direction:column;align-items:center;gap:.5rem;margin:1rem 0;display:flex}.skeleton-tile-button{margin-top:auto}.skeleton-banner{background:linear-gradient(90deg,#fff6 25%,#ffffffb3 50%,#fff6 75%) 0 0/200% 100%;margin-bottom:1.5rem;animation:1.5s infinite shimmer}[data-theme=dark] .skeleton-block{background:linear-gradient(90deg,#3d3d54 25%,#4d4d64 50%,#3d3d54 75%) 0 0/200% 100%}[data-theme=dark] .skeleton-problem-card,[data-theme=dark] .skeleton-stat-card,[data-theme=dark] .skeleton-level-card,[data-theme=dark] .skeleton-rewards-card,[data-theme=dark] .skeleton-chapter-card,[data-theme=dark] .skeleton-home-tile{background:#2d2d44}[data-theme=dark] .skeleton-problem-card:before{background:linear-gradient(90deg,#3d3d54 0%,#4d4d64 100%)}[data-theme=dark] .skeleton-problem-card .skeleton-meta,[data-theme=dark] .skeleton-reward-item{background:#3d3d54;border-top-color:#3d3d54}@media (max-width:768px){.skeleton-problem-card,.skeleton-chapter-card{padding:1rem}.skeleton-problem-card{height:200px}.skeleton-chapter-card{text-align:center;flex-direction:column;align-items:center}.skeleton-home-tile{min-height:300px}}
