main{min-height:100vh;background:#0a0a14;padding:5rem 2rem 4rem;color:#e0e0e0;font-family:sans-serif;overflow-x:hidden}.page-header{max-width:900px;margin:0 auto 2.5rem;text-align:center}.page-header h1{font-size:2rem;color:#ffb37c;margin:0 0 .4rem}.race-meta{color:#aaa;font-size:.95rem;margin:0 0 1.2rem}#countdown{display:inline-flex;gap:1.5rem;background:#ffb37c14;border:1px solid rgba(255,179,124,.2);border-radius:.5rem;padding:.75rem 1.5rem}.countdown-unit{display:flex;flex-direction:column;align-items:center;gap:.15rem}.countdown-value{font-size:1.8rem;font-weight:700;color:#ffb37c;line-height:1}.countdown-label{font-size:.7rem;color:#888;text-transform:uppercase;letter-spacing:.08em}.section-title{font-size:1rem;font-weight:600;color:#ffb37c;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .75rem}.paces-section{max-width:900px;margin:0 auto 2.5rem}.pace-cards{display:flex;gap:.75rem;flex-wrap:wrap}.pace-card{flex:1 1 150px;padding:.75rem 1rem;border-radius:.4rem;background:#ffffff0a;border-left:3px solid var(--type-color)}.pace-card .pace-type{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--type-color);margin-bottom:.25rem}.pace-card .pace-value{font-size:1rem;font-weight:600;color:#e0e0e0}.filters-section{max-width:900px;margin:0 auto 1.5rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.filter-btn{padding:.35rem .9rem;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:transparent;color:#aaa;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.filter-btn:hover{background:#ffffff12;color:#e0e0e0}.filter-btn.active{background:#ffb37c26;border-color:#ffb37c80;color:#ffb37c}.toggle-btn{margin-left:auto;padding:.35rem .9rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:transparent;color:#666;font-size:.8rem;cursor:pointer;transition:color .15s,border-color .15s}.toggle-btn:hover{color:#aaa;border-color:#ffffff40}.table-section{max-width:900px;margin:0 auto 3rem;overflow-x:auto}#plan-table{width:100%;border-collapse:collapse;font-size:.88rem}#plan-table th{text-align:left;padding:.5rem .75rem;color:#666;font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid rgba(255,255,255,.06)}#plan-table td{padding:.45rem .75rem;vertical-align:middle;border-bottom:1px solid rgba(255,255,255,.04)}.week-header td{padding:.9rem .75rem .3rem;color:#ffb37c;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid rgba(255,179,124,.2)}.week-header.key-week td{color:#ffd6b3}.week-header.key-week td:after{content:" ⭐ KEY WEEK"}.session-row:hover td{background:#ffffff05}.session-row.is-done td{opacity:.4}.session-row.is-done .session-desc{text-decoration:line-through}.session-row.hidden{display:none}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.type-easy .badge{background:#4a8fe033;color:#4a8fe0}.type-threshold .badge{background:#3dba7033;color:#3dba70}.type-interval .badge{background:#d4ac0d33;color:#d4ac0d}.type-repetition .badge{background:#c0392b33;color:#e05c4a}.type-strength .badge{background:#64646433;color:#888}.type-race .badge{background:#6b000059;color:#e07070}.type-rest .badge{background:#3c3c3c4d;color:#555}.type-rest td{color:#555}.check-btn{background:none;border:1px solid rgba(255,255,255,.15);border-radius:4px;width:1.4rem;height:1.4rem;cursor:pointer;color:#555;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s;padding:0}.check-btn:hover{border-color:#ffb37c66;color:#ffb37c}.session-row.is-done .check-btn{border-color:#3dba7080;color:#3dba70}.pace-card.easy{--type-color: #4a8fe0}.pace-card.threshold{--type-color: #3dba70}.pace-card.interval{--type-color: #d4ac0d}.pace-card.repetition{--type-color: #e05c4a}.vdot-section{max-width:900px;margin:0 auto 3rem;overflow-x:auto}.vdot-note{font-size:.82rem;color:#666;margin:0 0 1rem}.vdot-table{width:100%;border-collapse:collapse;font-size:.85rem}.vdot-table th{text-align:left;padding:.5rem .75rem;color:#666;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid rgba(255,255,255,.08)}.vdot-table td{padding:.55rem .75rem;border-bottom:1px solid rgba(255,255,255,.04);color:#ccc}.vdot-table tr.highlight td{background:#3dba7014;color:#3dba70}.vdot-table tr.highlight .note-cell{font-weight:600}.strategy-section{max-width:900px;margin:0 auto 3rem}.strategy-cards{display:flex;gap:1rem;flex-wrap:wrap}.strategy-card{flex:1 1 300px;padding:1.25rem 1.5rem;border-radius:.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.07)}.strategy-card h3{margin:0 0 .75rem;font-size:1.1rem;color:#ffb37c}.strategy-card .pace-row{display:flex;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.88rem}.strategy-card .pace-row:last-child{border-bottom:none}.strategy-card .pace-label{color:#888}.strategy-card .pace-val{color:#e0e0e0;font-weight:600}#pw-modal{display:none;position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(4px);z-index:100;align-items:center;justify-content:center}#pw-modal.open{display:flex}.modal-box{background:#12121e;border:1px solid rgba(255,179,124,.2);border-radius:.75rem;padding:2rem;width:100%;max-width:340px;display:flex;flex-direction:column;gap:1rem}.modal-box h2{margin:0;font-size:1rem;color:#ffb37c}.modal-box p{margin:0;font-size:.85rem;color:#888}.modal-box input{padding:.6rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:.4rem;color:#e0e0e0;font-size:.9rem;outline:none;width:100%;box-sizing:border-box}.modal-box input:focus{border-color:#ffb37c66}.modal-actions{display:flex;gap:.5rem}.modal-submit{flex:1;padding:.55rem;background:#ffb37c26;border:1px solid rgba(255,179,124,.3);border-radius:.4rem;color:#ffb37c;font-weight:600;font-size:.875rem;cursor:pointer;transition:background .15s}.modal-submit:hover{background:#ffb37c40}.modal-cancel{padding:.55rem .9rem;background:transparent;border:1px solid rgba(255,255,255,.1);border-radius:.4rem;color:#666;font-size:.875rem;cursor:pointer}.modal-cancel:hover{color:#aaa}#pw-error{font-size:.8rem;color:#e05c4a;min-height:1rem}@media(max-width:600px){main{padding:5rem .75rem 3rem}#countdown{gap:1rem;padding:.6rem 1rem}.pace-cards{gap:.5rem}.pace-card{flex:1 1 120px}.filters-section{gap:.4rem}.toggle-btn{margin-left:0;width:100%}#plan-table td,#plan-table th{padding:.4rem .5rem}.strategy-cards{flex-direction:column}}
