.vdot-page{max-width:800px;margin:0 auto;padding:2rem 1rem}.vdot-container{display:flex;flex-direction:column;gap:2rem}.vdot-header{text-align:center}.vdot-title{font-size:2rem;font-weight:800;color:var(--color-text);margin:0 0 .5rem}.vdot-subtitle{color:var(--color-text-secondary);font-size:1rem;margin:0;line-height:1.6}.vdot-calculator-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;padding:2rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}.calculator-form{gap:1.5rem;margin-bottom:2rem}.calculator-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{font-size:.9rem;font-weight:600;color:var(--color-text)}.form-select{padding:.75rem;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;background:var(--color-bg-secondary);color:var(--color-text);cursor:pointer;transition:border-color .15s}.form-select:hover{border-color:var(--color-text-secondary)}.form-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.time-input-group{display:flex;align-items:center;gap:.5rem}.time-input{flex:1 1;min-width:0;padding:.75rem;border:1px solid var(--color-border);border-radius:8px;font-size:1.25rem;text-align:center;font-weight:600;background:var(--color-bg-tertiary);color:var(--color-text);transition:border-color .15s,background .2s}.time-input::placeholder{font-size:.9rem;font-weight:400;color:var(--color-text-secondary)}.time-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.time-separator{font-size:1.5rem;font-weight:700;color:var(--color-text-secondary)}.vdot-result{padding-top:2rem;border-top:2px solid var(--color-border)}.vdot-score{text-align:center;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff}.score-label{font-size:.9rem;font-weight:600;opacity:.9;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.score-value{font-size:3rem;font-weight:800;line-height:1}.predicted-times{margin-top:2rem}.predicted-title{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0 0 1rem}.predicted-list{display:flex;flex-direction:column;gap:.75rem}.predicted-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--color-bg-tertiary);border-radius:8px;border:1px solid var(--color-border);transition:all .15s}.predicted-item:hover{background:var(--color-bg-tertiary);border-color:var(--color-border)}.predicted-distance{font-weight:600;color:var(--color-text);font-size:.95rem}.predicted-time{font-size:1.1rem;font-weight:700;color:#2563eb;font-family:Courier New,monospace}.vdot-info{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}.vdot-info h3{font-size:1.15rem;font-weight:700}.vdot-info h3,.vdot-info p{color:var(--color-text);margin:0 0 1rem}.vdot-info p{line-height:1.7}.vdot-info p:last-child{margin-bottom:0}.vdot-info strong{color:var(--color-text);font-weight:600}.formula-section{margin-top:1rem;padding:1.5rem;background:var(--color-bg-tertiary);border-radius:8px;border:1px solid var(--color-border)}.formula-text{font-family:Courier New,monospace;background:var(--color-bg-secondary);padding:.75rem;border-radius:4px;border:1px solid var(--color-border);white-space:pre-line;color:var(--color-text);font-size:.9rem;line-height:1.6}.formula-note{font-size:.85rem;color:var(--color-text-secondary);font-style:italic;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}@media (max-width:640px){.vdot-page{padding:1rem .5rem}.vdot-title{font-size:1.5rem}.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{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem}.pace-item{padding:1rem;background:var(--color-bg-tertiary);border-radius:8px;border:1px solid var(--color-border)}.pace-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.pace-type{font-weight:600;color:var(--color-text);font-size:.9rem}.pace-value{font-size:1.1rem;font-weight:700;color:#2563eb;font-family:Courier New,monospace}.pace-description{font-size:.85rem;margin-bottom:.25rem}.pace-description,.pace-purpose{color:var(--color-text-secondary)}.pace-purpose{font-size:.8rem;font-style:italic}.weekly-training{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--color-border)}.training-options-row{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem;padding:.75rem;background:var(--color-bg-tertiary);border-radius:8px;flex-wrap:wrap}.training-options-row:first-of-type{background:#eff6ff;padding:1rem}.alternate-period-selector,.interval-repetition-mode-selector,.long-run-type-selector,.training-period-selector{display:flex;align-items:center;gap:.75rem;margin-bottom:0}.alternate-period-selector label,.interval-repetition-mode-selector label,.long-run-type-selector label,.training-period-selector label{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.period-select{padding:.5rem .75rem;border:2px solid var(--color-border);border-radius:8px;font-size:1rem;font-weight:600;color:var(--color-text);background:var(--color-bg-secondary);cursor:pointer;transition:all .15s}.period-select:hover{border-color:var(--color-text-secondary)}.period-select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.weekly-volume-input-group{display:flex;align-items:center;gap:.75rem;margin-bottom:0;padding:0;background:transparent;border-radius:0;flex-wrap:wrap}.weekly-volume-input-group label{font-size:1.1rem;font-weight:600;color:var(--color-text);margin:0}.weekly-volume-input{width:100px;padding:.5rem .75rem;border:2px solid #2563eb;border-radius:8px;font-size:1.1rem;font-weight:700;text-align:center;color:var(--color-text);background:var(--color-bg-secondary);transition:all .15s}.weekly-volume-input:focus{outline:none;border-color:#1d4ed8;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.weekly-volume-unit{font-size:1.1rem;font-weight:600;color:var(--color-text)}.total-volume-info{text-align:center;font-size:1rem;color:#60a5fa;margin-bottom:1rem;padding:1rem;background:rgba(37,99,235,.12);border-radius:8px;border:1px solid rgba(59,130,246,.35)}.total-volume-info strong{display:block;font-size:1.1rem;margin-bottom:.5rem}.total-volume-breakdown{font-size:.9rem;color:var(--color-text-secondary);margin-top:.25rem}.weekly-schedule{margin-bottom:1.5rem}.schedule-title{font-size:1.1rem;font-weight:700;color:var(--color-text);margin:0 0 1.5rem;text-align:center}.schedule-weeks{gap:1.5rem}.schedule-week,.schedule-weeks{display:flex;flex-direction:column}.schedule-week{gap:.75rem}.schedule-week-label{font-size:.95rem;font-weight:600;color:#2563eb;padding:.5rem;background:#eff6ff;border-radius:8px;text-align:center;border:1px solid #bfdbfe}.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.75rem;gap:.75rem}.schedule-day{position:relative;padding:1rem .5rem;background:var(--color-bg-tertiary);border-radius:8px;border:2px solid var(--color-border);text-align:center;transition:all .2s}.schedule-day:hover{border-color:#2563eb;background:#eff6ff}.schedule-day-header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.schedule-day-name{font-size:1rem;font-weight:700;color:var(--color-text)}.schedule-day-type{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase}.schedule-day-distance{font-size:1.25rem;font-weight:700;color:#2563eb;margin-bottom:.5rem}.schedule-info-btn{position:absolute;top:.25rem;right:.25rem;width:1.5rem;height:1.5rem;border:none;background:transparent;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.schedule-info-btn:hover{background:rgba(37,99,235,.1);transform:scale(1.1)}.info-icon{font-size:.875rem;line-height:1}.schedule-description-popup{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;padding:.75rem;background:var(--color-bg-secondary);border:2px solid #2563eb;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);font-size:.85rem;color:var(--color-text);line-height:1.5;z-index:10;text-align:left}.schedule-description-text{margin-bottom:.75rem}.schedule-heart-rate-zone{padding-top:.75rem;border-top:1px solid var(--color-border);color:#2563eb;font-size:.9rem}.schedule-heart-rate-zone strong{color:var(--color-text);margin-right:.5rem}.training-breakdown-summary{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;padding:1rem;background:var(--color-bg-tertiary);border-radius:8px;border:1px solid var(--color-border)}.breakdown-summary-header{font-size:.9rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.breakdown-summary-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.breakdown-summary-item:last-of-type:not(.breakdown-summary-total){border-bottom:none}.breakdown-summary-total{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;margin-top:.5rem;border-top:2px solid var(--color-border);font-weight:700}.breakdown-summary-total .breakdown-label{color:var(--color-text);font-size:.95rem}.breakdown-summary-total .breakdown-value{color:#2563eb;font-size:1rem}.breakdown-label{font-size:.85rem;font-weight:600;color:var(--color-text-secondary)}.breakdown-value{font-size:.95rem;font-weight:700;color:#2563eb}.training-principle{padding:1.5rem;background:#fef3c7;border-radius:8px;border:1px solid #fde68a}.training-principle h4{font-size:1rem;font-weight:700;color:#92400e;margin:0 0 .75rem}.training-principle p{color:#78350f;line-height:1.6;margin:0;font-size:.9rem}@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{font-size:.8rem;padding:.5rem;position:fixed;left:1rem;right:1rem;top:50%;transform:translateY(-50%);max-height:50vh;overflow-y:auto}.training-breakdown-summary{grid-template-columns:repeat(2,1fr)}}