.vdot-page{max-width:var(--layout-body-wide);box-sizing:border-box;width:100%;margin:0 auto;padding:0 0 1.5rem}.vdot-container{flex-direction:column;gap:2rem;display:flex}.vdot-header{text-align:left}.vdot-title{color:var(--color-text);margin:0 0 .35rem;font-size:1.4rem;font-weight:700}.vdot-subtitle{color:var(--color-text-muted);margin:0;font-size:.95rem;line-height:1.6}.vdot-calculator-card{background:var(--color-surface-elevated);border:1px solid var(--color-border);box-shadow:0 1px 3px var(--color-focus-ring);border-radius:12px;padding:2rem}.calculator-form{flex-direction:column;gap:1.5rem;margin-bottom:2rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--color-text);font-size:.9rem;font-weight:600}.form-select{border:1px solid var(--color-border-strong);background:var(--color-input-bg);color:var(--color-text);cursor:pointer;border-radius:8px;padding:.75rem;font-size:1rem;transition:border-color .15s}.form-select:hover{border-color:var(--color-text-muted)}.form-select:focus{border-color:var(--color-text);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.time-input-group{align-items:center;gap:.5rem;display:flex}.time-input{border:1px solid var(--color-border-strong);text-align:center;min-width:0;color:var(--color-text);background:var(--color-input-bg);border-radius:8px;flex:1;padding:.75rem;font-size:1.25rem;font-weight:600;transition:border-color .15s}.time-input::placeholder{color:var(--color-text-muted);font-size:.9rem;font-weight:400}.time-input:focus{border-color:var(--color-text);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.time-separator{color:var(--color-text-muted);font-size:1.5rem;font-weight:700}.vdot-result{border-top:2px solid var(--color-border);padding-top:2rem}.vdot-score{text-align:center;color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.score-label{opacity:.9;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.9rem;font-weight:600}.score-value{font-size:3rem;font-weight:800;line-height:1}.predicted-times{margin-top:2rem}.predicted-title{color:var(--color-text);margin:0 0 1rem;font-size:1.25rem;font-weight:700}.predicted-list{flex-direction:column;gap:.75rem;display:flex}.predicted-item{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;transition:all .15s;display:flex}.predicted-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.predicted-distance{color:var(--color-text);font-size:.95rem;font-weight:600}.predicted-time{color:var(--color-text);font-family:Courier New,monospace;font-size:1.1rem;font-weight:700}.vdot-info{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}.vdot-info h3{color:var(--color-text);margin:0 0 1rem;font-size:1.15rem;font-weight:700}.vdot-info p{color:var(--color-text-muted);margin:0 0 1rem;line-height:1.7}.vdot-ai-week-plan{border-top:1px solid var(--color-border);margin-top:1.25rem;padding-top:1rem}.vdot-ai-week-plan__hint{color:var(--color-text-muted,#64748b);margin:0 0 .75rem;font-size:.85rem}.vdot-ai-week-plan__controls{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.75rem;display:flex}.vdot-ai-week-plan__days{margin:0;padding:0;list-style:none}.vdot-ai-week-plan__day{border-bottom:1px solid var(--color-border);padding:.65rem 0}.vdot-ai-week-plan__day:last-child{border-bottom:none}.vdot-ai-week-plan__date{color:var(--color-text-muted,#64748b);font-size:.8rem;display:block}.vdot-ai-week-plan__pace,.vdot-ai-week-plan__sets{margin-top:.15rem;font-size:.85rem;display:block}.vdot-ai-week-plan__rationale{color:var(--color-text-muted,#64748b);margin:.35rem 0 0;font-size:.85rem}.vdot-info p:last-child{margin-bottom:0}.vdot-info strong{color:var(--color-text);font-weight:600}.formula-section{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:8px;margin-top:1rem;padding:1.5rem}.formula-text{background:var(--color-input-bg);border:1px solid var(--color-border-strong);white-space:pre-line;color:var(--color-text);border-radius:4px;padding:.75rem;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6}.formula-note{color:var(--color-text-muted);border-top:1px solid var(--color-border);margin-top:1rem;padding-top:1rem;font-size:.85rem;font-style:italic}@media (max-width:640px){.vdot-page{padding:0 0 1rem}.vdot-calculator-card{padding:1.5rem}.score-value{font-size:2.5rem}.predicted-item{flex-direction:column;align-items:flex-start;gap:.5rem}.predicted-time{font-size:1rem}}.training-paces{margin-top:2rem}.pace-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.pace-item{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:8px;padding:1rem}.pace-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.pace-type{color:var(--color-text);font-size:.9rem;font-weight:600}.pace-value{color:var(--color-text);font-family:Courier New,monospace;font-size:1.1rem;font-weight:700}.pace-description{color:var(--color-text-muted);margin-bottom:.25rem;font-size:.85rem}.pace-purpose{color:var(--color-text-muted);font-size:.8rem;font-style:italic}.weekly-training{border-top:2px solid var(--color-border);margin-top:2rem;padding-top:2rem}.training-options-row{background:var(--color-surface-hover);border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem;display:flex}.training-options-row:first-of-type{background:var(--color-surface-hover);padding:1rem}.training-period-selector,.interval-repetition-mode-selector,.alternate-period-selector,.long-run-type-selector{align-items:center;gap:.75rem;margin-bottom:0;display:flex}.training-period-selector label,.interval-repetition-mode-selector label,.alternate-period-selector label,.long-run-type-selector label{color:var(--color-text);margin:0;font-size:1rem;font-weight:600}.period-select{border:2px solid var(--color-border-strong);color:var(--color-text);background:var(--color-input-bg);cursor:pointer;border-radius:8px;padding:.5rem .75rem;font-size:1rem;font-weight:600;transition:all .15s}.period-select:hover{border-color:var(--color-text-muted)}.period-select:focus{border-color:var(--color-text);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.weekly-volume-input-group{background:0 0;border-radius:0;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:0;padding:0;display:flex}.weekly-volume-input-group label{color:var(--color-text);margin:0;font-size:1.1rem;font-weight:600}.weekly-volume-input{border:2px solid var(--color-text);text-align:center;width:100px;color:var(--color-text);background:var(--color-input-bg);border-radius:8px;padding:.5rem .75rem;font-size:1.1rem;font-weight:700;transition:all .15s}.weekly-volume-input:focus{border-color:var(--color-primary-hover);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.weekly-volume-unit{color:var(--color-text);font-size:1.1rem;font-weight:600}.total-volume-info{text-align:center;color:var(--color-text);background:var(--color-surface-hover);border:1px solid #bfdbfe;border-radius:8px;margin-bottom:1rem;padding:1rem;font-size:1rem}.total-volume-info strong{margin-bottom:.5rem;font-size:1.1rem;display:block}.total-volume-breakdown{color:var(--color-text-muted);margin-top:.25rem;font-size:.9rem}.weekly-schedule{margin-bottom:1.5rem}.schedule-title{color:var(--color-text);text-align:center;margin:0 0 1.5rem;font-size:1.1rem;font-weight:700}.schedule-weeks{flex-direction:column;gap:1.5rem;display:flex}.schedule-week{flex-direction:column;gap:.75rem;display:flex}.schedule-week-label{color:var(--color-text);background:var(--color-surface-hover);text-align:center;border:1px solid #bfdbfe;border-radius:8px;padding:.5rem;font-size:.95rem;font-weight:600}.schedule-grid{grid-template-columns:repeat(7,1fr);gap:.75rem;display:grid}.schedule-day{background:var(--color-surface-hover);border:2px solid var(--color-border);text-align:center;border-radius:8px;padding:1rem .5rem;transition:all .2s;position:relative}.schedule-day:hover{border-color:var(--color-text);background:var(--color-surface-hover)}.schedule-day-header{flex-direction:column;gap:.25rem;margin-bottom:.5rem;display:flex}.schedule-day-name{color:var(--color-text);font-size:1rem;font-weight:700}.schedule-day-type{color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.schedule-day-distance{color:var(--color-text);margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.schedule-info-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;transition:all .2s;display:flex;position:absolute;top:.25rem;right:.25rem}.schedule-info-btn:hover{background:var(--color-focus-ring);transform:scale(1.1)}.info-icon{font-size:.875rem;line-height:1}.schedule-description-popup{background:var(--color-surface-elevated);border:2px solid var(--color-text);color:var(--color-text);z-index:10;text-align:left;border-radius:8px;margin-top:.5rem;padding:.75rem;font-size:.85rem;line-height:1.5;position:absolute;top:100%;left:0;right:0;box-shadow:0 4px 12px #00000026}.schedule-description-text{margin-bottom:.75rem}.schedule-heart-rate-zone{border-top:1px solid var(--color-border);color:var(--color-text);padding-top:.75rem;font-size:.9rem}.schedule-heart-rate-zone strong{color:var(--color-text);margin-right:.5rem}.training-breakdown-summary{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:1rem;display:flex}.breakdown-summary-header{color:var(--color-text);border-bottom:2px solid var(--color-border-strong);margin-bottom:.25rem;padding-bottom:.5rem;font-size:.9rem;font-weight:600}.breakdown-summary-item{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.breakdown-summary-item:last-of-type:not(.breakdown-summary-total){border-bottom:none}.breakdown-summary-total{border-top:2px solid var(--color-border-strong);justify-content:space-between;align-items:center;margin-top:.5rem;padding:.75rem 0;font-weight:700;display:flex}.breakdown-summary-total .breakdown-label{color:var(--color-text);font-size:.95rem}.breakdown-summary-total .breakdown-value{color:var(--color-text);font-size:1rem}.breakdown-label{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.breakdown-value{color:var(--color-text);font-size:.95rem;font-weight:700}.training-principle{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:1.5rem}.training-principle h4{color:#92400e;margin:0 0 .75rem;font-size:1rem;font-weight:700}.training-principle p{color:#78350f;margin:0;font-size:.9rem;line-height:1.6}html[data-theme=dark] .vdot-calculator-card,html[data-theme=dark] .vdot-info{box-shadow:0 1px 3px #00000059}html[data-theme=dark] .total-volume-info,html[data-theme=dark] .schedule-week-label{border-color:#60a5fa66}html[data-theme=dark] .schedule-description-popup{box-shadow:0 4px 20px #00000073}html[data-theme=dark] .training-principle{background:#fbbf241f;border-color:#fbbf2459}html[data-theme=dark] .training-principle h4{color:#fcd34d}html[data-theme=dark] .training-principle p{color:#fde68a}@media (max-width:640px){.pace-list{grid-template-columns:1fr}.schedule-grid{grid-template-columns:repeat(4,1fr);gap:.5rem}.schedule-day{padding:.75rem .25rem}.schedule-day-name{font-size:.9rem}.schedule-day-type{font-size:.7rem}.schedule-day-distance{font-size:1rem}.schedule-description-popup{max-height:50vh;padding:.5rem;font-size:.8rem;position:fixed;top:50%;left:1rem;right:1rem;overflow-y:auto;transform:translateY(-50%)}.training-breakdown-summary{grid-template-columns:repeat(2,1fr)}}
