.progress-wrapper:where(.astro-4qanlpjy){width:100%;font-family:var(--__sl-font,system-ui, sans-serif);flex-direction:column;gap:.5rem;margin:.75rem 0;display:flex}.progress-wrapper:where(.astro-4qanlpjy).is-inline{flex-direction:row;align-items:center;gap:.75rem;margin:.25rem 0;display:inline-flex}.progress-header:where(.astro-4qanlpjy){justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.label-container:where(.astro-4qanlpjy){flex-direction:column;gap:.15rem;display:flex}.progress-label:where(.astro-4qanlpjy){color:var(--sl-color-white,#fff);font-size:.95rem;font-weight:600}.progress-sublabel:where(.astro-4qanlpjy){color:var(--sl-color-gray-3,#94a3b8);font-size:.8rem}.progress-value-badge:where(.astro-4qanlpjy){font-size:.85rem;font-weight:700;font-family:var(--__sl-font-mono,monospace);background:var(--sl-color-gray-6,#1e293b99);border:1px solid var(--sl-color-hairline,#ffffff1a);color:var(--sl-color-gray-2,#e2e8f0);border-radius:.375rem;padding:.15rem .5rem}.progress-track:where(.astro-4qanlpjy){background:var(--sl-color-gray-6,#0f172ab3);border:1px solid var(--sl-color-hairline,#ffffff14);border-radius:9999px;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #0003}.size-sm:where(.astro-4qanlpjy) .progress-track:where(.astro-4qanlpjy){height:6px}.size-md:where(.astro-4qanlpjy) .progress-track:where(.astro-4qanlpjy){height:10px}.size-lg:where(.astro-4qanlpjy) .progress-track:where(.astro-4qanlpjy){height:16px}.progress-fill:where(.astro-4qanlpjy){border-radius:9999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.progress-fill:where(.astro-4qanlpjy).primary{background:linear-gradient(90deg,#0284c7 0%,#38bdf8 100%)}.progress-fill:where(.astro-4qanlpjy).success{background:linear-gradient(90deg,#059669 0%,#34d399 100%)}.progress-fill:where(.astro-4qanlpjy).warning{background:linear-gradient(90deg,#d97706 0%,#fbbf24 100%)}.progress-fill:where(.astro-4qanlpjy).danger{background:linear-gradient(90deg,#dc2626 0%,#f87171 100%)}.progress-fill:where(.astro-4qanlpjy).info{background:linear-gradient(90deg,#4f46e5 0%,#818cf8 100%)}.progress-shimmer:where(.astro-4qanlpjy){background:linear-gradient(90deg,#fff0 0%,#ffffff40 50%,#fff0 100%);animation:2s infinite progress-shimmer-anim;position:absolute;inset:0}@keyframes progress-shimmer-anim{0%{transform:translate(-100%)}to{transform:translate(100%)}}.inline-meta:where(.astro-4qanlpjy){white-space:nowrap;align-items:center;gap:.5rem;display:flex}.inline-label:where(.astro-4qanlpjy){color:var(--sl-color-gray-2,#e2e8f0);font-size:.85rem;font-weight:600}.inline-value:where(.astro-4qanlpjy){color:var(--sl-color-gray-3,#94a3b8);font-size:.85rem;font-weight:700}.roadmap-container:where(.astro-ubuqyyp6){flex-direction:column;gap:2rem;margin:2rem 0;font-family:inherit;display:flex}.roadmap-summary-card:where(.astro-ubuqyyp6){background:var(--sl-color-bg-nav);border:1px solid var(--sl-color-hairline);backdrop-filter:blur(12px);border-radius:1rem;padding:1.75rem;box-shadow:0 10px 25px -5px #0000001a}.summary-header:where(.astro-ubuqyyp6){justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.summary-title:where(.astro-ubuqyyp6){color:var(--sl-color-text)!important;margin:0!important;font-size:1.4rem!important;font-weight:700!important}.summary-subtitle:where(.astro-ubuqyyp6){color:var(--sl-color-gray-3,#94a3b8)!important;margin:.25rem 0 0!important;font-size:.9rem!important}.overall-badge:where(.astro-ubuqyyp6){background:#0ea5e91f;border:1px solid #0ea5e94d;border-radius:.75rem;flex-direction:column;align-items:flex-end;padding:.5rem 1rem;display:flex}.overall-percent:where(.astro-ubuqyyp6){color:#38bdf8;font-size:1.6rem;font-weight:800;line-height:1}.overall-label:where(.astro-ubuqyyp6){text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-top:.2rem;font-size:.75rem}.metrics-grid:where(.astro-ubuqyyp6){border-top:1px solid var(--sl-color-hairline,#ffffff14);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1.25rem;padding-top:1rem;display:grid}.metric-item:where(.astro-ubuqyyp6){flex-direction:column;gap:.25rem;display:flex}.metric-value:where(.astro-ubuqyyp6){font-size:1.4rem;font-weight:700}.metric-item:where(.astro-ubuqyyp6).completed .metric-value:where(.astro-ubuqyyp6){color:#10b981}.metric-item:where(.astro-ubuqyyp6).in-progress .metric-value:where(.astro-ubuqyyp6){color:#38bdf8}.metric-item:where(.astro-ubuqyyp6).planned .metric-value:where(.astro-ubuqyyp6){color:#94a3b8}.metric-label:where(.astro-ubuqyyp6){color:var(--sl-color-gray-3,#94a3b8);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.dot:where(.astro-ubuqyyp6){border-radius:50%;width:8px;height:8px;display:inline-block}.dot-completed:where(.astro-ubuqyyp6){background-color:#10b981}.dot-in-progress:where(.astro-ubuqyyp6){background-color:#38bdf8}.dot-planned:where(.astro-ubuqyyp6){background-color:#64748b}.phases-list:where(.astro-ubuqyyp6){flex-direction:column;gap:1.5rem;display:flex}.phase-card:where(.astro-ubuqyyp6){background:var(--sl-color-bg-nav);border:1px solid var(--sl-color-hairline);border-radius:1rem;padding:1.5rem;transition:all .25s ease-in-out}.phase-card:where(.astro-ubuqyyp6):hover{border-color:#38bdf84d;transform:translateY(-2px);box-shadow:0 12px 20px -5px #0003}.phase-card:where(.astro-ubuqyyp6).completed{border-left:4px solid #10b981}.phase-card:where(.astro-ubuqyyp6).in-progress{border-left:4px solid #38bdf8}.phase-card:where(.astro-ubuqyyp6).planned{border-left:4px solid #64748b}.phase-header:where(.astro-ubuqyyp6){justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.phase-badge-wrapper:where(.astro-ubuqyyp6){align-items:center;gap:.75rem;display:flex}.phase-number:where(.astro-ubuqyyp6){text-transform:uppercase;letter-spacing:.05em;color:var(--sl-color-gray-3,#94a3b8);font-size:.8rem;font-weight:700}.status-tag:where(.astro-ubuqyyp6){border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.status-tag:where(.astro-ubuqyyp6).completed{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.status-tag:where(.astro-ubuqyyp6).in-progress{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d}.status-tag:where(.astro-ubuqyyp6).planned{color:#94a3b8;background:#64748b26;border:1px solid #64748b4d}.phase-timeline:where(.astro-ubuqyyp6){color:var(--sl-color-gray-3,#94a3b8);font-size:.85rem;font-weight:600}.phase-title:where(.astro-ubuqyyp6){color:var(--sl-color-text)!important;margin:0 0 .4rem!important;font-size:1.25rem!important;font-weight:700!important}.phase-desc:where(.astro-ubuqyyp6){line-height:1.5;color:var(--sl-color-gray-3,#94a3b8)!important;margin:0 0 1rem!important;font-size:.92rem!important}.phase-progress-wrapper:where(.astro-ubuqyyp6){margin-bottom:1.25rem}.tasks-grid:where(.astro-ubuqyyp6){grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;display:grid}.task-card:where(.astro-ubuqyyp6){background:var(--sl-color-bg);border:1px solid var(--sl-color-hairline);border-radius:.6rem;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;transition:background .2s;display:flex}.task-card:where(.astro-ubuqyyp6):hover{background:var(--sl-color-bg-nav)}.task-icon:where(.astro-ubuqyyp6){flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;margin-top:.15rem;display:flex}.icon-check:where(.astro-ubuqyyp6){color:#10b981;flex-shrink:0;min-width:1.1rem;max-width:1.1rem;min-height:1.1rem;max-height:1.1rem;display:block;width:1.1rem!important;height:1.1rem!important}.pulse-indicator:where(.astro-ubuqyyp6){background-color:#38bdf8;border-radius:50%;width:10px;height:10px;animation:1.6s infinite pulse;box-shadow:0 0 #38bdf8b3}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #38bdf8b3}70%{transform:scale(1);box-shadow:0 0 0 6px #38bdf800}to{transform:scale(.95);box-shadow:0 0 #38bdf800}}.icon-planned:where(.astro-ubuqyyp6){color:#64748b;font-size:.9rem}.task-content:where(.astro-ubuqyyp6){flex-direction:column;gap:.15rem;display:flex}.task-title:where(.astro-ubuqyyp6){color:var(--sl-color-text-accent);font-size:.9rem;font-weight:600}.task-details:where(.astro-ubuqyyp6){color:var(--sl-color-gray-3,#94a3b8);font-size:.78rem;line-height:1.35}
