.programs-page,.program-detail-page{max-width:1000px;margin:0 auto;padding:4rem 1rem}.programs-header{margin-bottom:3rem}.programs-header .subtitle{color:var(--color-text-muted);font-size:1.2rem}.programs-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.program-card{cursor:pointer;flex-direction:column;text-decoration:none;transition:transform .2s,border-color .2s;display:flex}.program-card:hover{border-color:var(--color-primary);transform:translateY(-4px)}.program-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.level-badge{text-transform:uppercase;letter-spacing:.1em;border-radius:1rem;padding:.25rem .75rem;font-size:.8rem;font-weight:800}.level-badge.beginner{color:#22c55e;background-color:#22c55e1a}.level-badge.intermediate{color:#eab308;background-color:#eab3081a}.level-badge.advanced{color:#ef4444;background-color:#ef44441a}.duration-badge{color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.program-card h2{color:var(--color-text);margin-bottom:.5rem;font-size:1.5rem}.program-card p{color:var(--color-text-muted);flex:1;margin-bottom:1.5rem}.program-start-prompt{color:var(--color-primary);align-items:center;gap:.5rem;font-weight:700;display:flex}.program-progress{margin-top:auto}.progress-text{color:var(--color-text);justify-content:space-between;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:flex}.progress-bar-bg{background-color:var(--color-bg);border-radius:4px;height:8px;overflow:hidden}.progress-bar-fill{background-color:var(--color-primary);border-radius:4px;height:100%;transition:width .3s}.breadcrumb{margin-bottom:2rem}.back-link{color:var(--color-text-muted);align-items:center;gap:.5rem;font-weight:600;text-decoration:none;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--color-primary)}.program-hero{text-align:center;margin-bottom:3rem}.program-hero-header{justify-content:center;gap:1rem;margin-bottom:1.5rem;display:flex}.program-hero h1{margin-bottom:1rem;font-size:2.5rem}.program-hero .description{color:var(--color-text-muted);max-width:800px;margin:0 auto 2rem;font-size:1.1rem}.program-hero-progress{text-align:left;max-width:600px;margin:0 auto}.progress-stats{justify-content:space-between;margin-bottom:.5rem;font-weight:700;display:flex}.program-days{flex-direction:column;gap:1.5rem;display:flex}.day-card{transition:opacity .3s}.day-card.locked{opacity:.5;filter:grayscale()}.day-card.current{border-color:var(--color-primary);box-shadow:0 0 15px #dc26261a}.day-card.completed{border-color:#22c55e}.day-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.day-header h2{margin:0;font-size:1.5rem}.day-desc{color:var(--color-text-muted);margin-bottom:1.5rem}.day-tasks{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.task-item{background-color:var(--color-bg);color:var(--color-text);border-radius:.5rem;align-items:flex-start;gap:1rem;padding:1rem;text-decoration:none;display:flex}.learn-task{border:1px solid var(--color-border);transition:border-color .2s}.learn-task:hover{border-color:var(--color-primary)}.practice-task{border:1px dashed var(--color-border)}.task-item svg{color:var(--color-primary);flex-shrink:0;margin-top:.1rem}.task-content{flex:1;line-height:1.5}.task-label{letter-spacing:.1em;color:var(--color-text-muted);margin-right:.5rem;font-size:.8rem;font-weight:800}.forward-icon{color:var(--color-text-muted)!important}.complete-day-btn{background-color:var(--color-primary);color:#fff;letter-spacing:.1em;cursor:pointer;border:none;border-radius:.5rem;width:100%;padding:1rem;font-weight:800;transition:background-color .2s}.complete-day-btn:hover{background-color:#f33}.reset-progress-btn{border:1px solid var(--color-border);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border-radius:var(--radius-sm);background:0 0;align-items:center;gap:.35rem;margin-top:.75rem;padding:.35rem .75rem;font-size:.72rem;font-weight:700;transition:all .2s;display:inline-flex}.reset-progress-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background-color:#ff33330d}@media (max-width:600px){.programs-page h1,.program-detail h1{font-size:clamp(1.4rem,7vw,2rem)}.program-card{padding:var(--space-3)}.program-card h3{font-size:1.1rem}.day-card{padding:var(--space-3)}}.program-phases{flex-direction:column;gap:2.5rem;display:flex}.program-phase{border-left:3px solid var(--color-primary);padding-left:1.5rem}.phase-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.phase-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);margin:0;font-size:1.4rem;font-weight:900}.phase-progress-mini{color:var(--color-text-muted);align-items:center;gap:.75rem;font-size:.8rem;font-weight:700;display:flex}.phase-bar-bg{background:var(--color-bg);border-radius:3px;width:80px;height:6px;overflow:hidden}.phase-bar-fill{background:var(--color-primary);border-radius:3px;height:100%;transition:width .3s}.program-week{margin-bottom:.5rem}.program-week.week-current{border-radius:var(--radius-md)}.week-toggle{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);cursor:pointer;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.95rem;font-weight:700;transition:border-color .2s,background-color .2s;display:flex}.week-toggle:hover{border-color:var(--color-primary)}.week-current .week-toggle{border-color:var(--color-primary);background:#ff33330a}.week-chevron{color:var(--color-text-muted);flex-shrink:0;transition:transform .2s}.week-toggle.expanded .week-chevron{transform:rotate(180deg)}.week-label{flex-shrink:0}.week-day-range{color:var(--color-text-muted);margin-left:auto;font-size:.85rem;font-weight:500}.week-progress-badge{border-radius:var(--radius-full);background:var(--color-bg);color:var(--color-text-muted);letter-spacing:.5px;flex-shrink:0;padding:2px 8px;font-size:.75rem;font-weight:800}.week-days{flex-direction:column;gap:1rem;padding:1rem 0 .5rem;display:flex}@media (max-width:600px){.program-phase{padding-left:.75rem}.phase-title{font-size:1.1rem}.week-toggle{padding:.6rem .75rem;font-size:.85rem}.week-day-range{display:none}}
