.challenge-day-display{text-align:center;padding:2rem 1rem}.challenge-day-number{font-family:var(--calc-font-display);font-size:clamp(4rem,15vw,6rem);font-weight:600;line-height:1;color:var(--midnight-text);letter-spacing:-.03em}.challenge-day-label{font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;color:var(--midnight-accent-hover);margin-top:.25rem}.phase-badge{display:inline-block;padding:.375rem 1rem;background:#3b82f61f;color:var(--midnight-accent-hover);border-radius:50px;font-size:.8125rem;font-weight:600;margin-top:.75rem}.progress-section{display:flex;flex-direction:column;gap:1rem}.progress-group{display:flex;flex-direction:column;gap:.375rem}.progress-header{display:flex;justify-content:space-between;align-items:center}.progress-label{font-size:.8125rem;font-weight:600;color:var(--midnight-text)}.progress-value{font-size:.8125rem;font-weight:600;color:var(--midnight-accent-hover)}.progress-track{width:100%;height:10px;background:var(--midnight-border);border-radius:5px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,rgba(59,130,246,.12) 0%,var(--midnight-accent-hover) 100%);border-radius:5px;transition:width .5s ease}.progress-track .day-21-marker{position:absolute;left:23.33%;top:0;bottom:0;width:2px;background:var(--midnight-text-muted);opacity:.4}.progress-track .day-21-marker:after{content:"21";position:absolute;top:-1.25rem;left:50%;transform:translate(-50%);font-size:.625rem;color:var(--midnight-text-muted);white-space:nowrap}.milestone-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.5rem}.milestone-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:var(--midnight-card);border-radius:10px;border:1px solid var(--midnight-border);transition:all var(--calc-transition-fast)}.milestone-item.reached{background:#3b82f61f;border-color:var(--midnight-accent)}.milestone-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--midnight-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.milestone-item.reached .milestone-check{background:var(--midnight-accent-hover);border-color:var(--midnight-accent-hover)}.milestone-check svg{width:14px;height:14px}.milestone-label{font-size:.8125rem;font-weight:600;color:var(--midnight-text-muted);min-width:3.5rem}.milestone-item.reached .milestone-label{color:var(--midnight-text)}.milestone-name{font-size:.8125rem;color:var(--midnight-text-muted)}.milestone-item.reached .milestone-name{color:var(--midnight-text)}.key-dates{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.key-date-item{padding:.75rem;background:var(--midnight-card);border-radius:10px;border:1px solid var(--midnight-border);text-align:center}.key-date-label{font-size:.75rem;color:var(--midnight-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.key-date-value{font-weight:600;font-size:.9375rem;color:var(--midnight-text)}.start-today-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:var(--midnight-accent);color:#fff;border:none;border-radius:10px;font-family:inherit;font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--calc-transition-fast)}.start-today-btn:hover{background:var(--midnight-accent-hover);transform:translateY(-1px)}.date-input-group{display:flex;flex-direction:column;gap:.75rem}.date-input-group input[type=date]{width:100%;padding:.625rem .75rem;border:2px solid var(--midnight-border-interactive);border-radius:10px;font-size:1rem;font-family:inherit;background:var(--midnight-bg);color:var(--midnight-text);color-scheme:dark}.date-input-group input[type=date]:focus{outline:none;border-color:var(--midnight-accent-hover)}.days-remaining-display{text-align:center;padding:.75rem;background:var(--midnight-card);border-radius:10px;margin-top:.5rem}.days-remaining-display .remaining-number{font-family:var(--calc-font-display);font-size:1.5rem;font-weight:600;color:var(--midnight-text)}.days-remaining-display .remaining-label{font-size:.75rem;color:var(--midnight-text-muted);text-transform:uppercase;letter-spacing:.05em}
