.page-hero{background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-secondary-light) 100%);padding:var(--space-16) 0 var(--space-12);text-align:center;position:relative;overflow:hidden}.page-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.03) 2px,rgba(255,255,255,.03) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(255,255,255,.03) 2px,rgba(255,255,255,.03) 4px);pointer-events:none}.page-hero h1{margin-bottom:var(--space-4);position:relative}.page-subtitle{color:var(--color-text-secondary);font-size:1rem;max-width:620px;margin:0 auto;position:relative}.config-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-lg);max-width:860px;margin:0 auto;animation:cardEnter .6s cubic-bezier(.4,0,.2,1)}@keyframes cardEnter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes sectionReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.config-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:2px solid var(--color-border)}.config-step{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),#E04A2A);color:#fff;font-family:var(--font-heading);font-weight:900;font-size:1.25rem;border-radius:var(--radius-lg);flex-shrink:0}.config-header h2{font-size:1.375rem;margin:0}.form-group{margin-bottom:var(--space-6)}.form-label{display:flex;align-items:baseline;gap:var(--space-2);font-family:var(--font-heading);font-weight:700;font-size:1rem;margin-bottom:var(--space-3);color:var(--color-text)}.form-hint{font-size:.6875rem;font-weight:400;color:var(--color-text-muted)}.form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.input-with-unit{display:flex;align-items:center;gap:var(--space-2)}.form-input{flex:1;padding:var(--space-3) var(--space-4);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);font-family:inherit;font-size:.9375rem;color:var(--color-text);transition:all .25s ease;outline:none}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.bfp-input{font-family:var(--font-heading);font-weight:700;font-size:1.25rem;color:var(--color-primary)}.input-unit{font-weight:600;font-size:.875rem;color:var(--color-text-muted)}.form-error{display:block;color:var(--color-error);font-size:.75rem;margin-top:var(--space-1);min-height:1em}.gender-toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.gender-option{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;font-family:inherit;font-weight:600;font-size:.9375rem;transition:all .2s ease}.gender-option:hover{border-color:var(--color-primary)}.gender-option.active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.gender-icon{font-size:1.25rem}.chip-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip-group .chip{padding:var(--space-2) var(--space-4);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-full);font-size:.8125rem;font-weight:600;cursor:pointer;font-family:inherit;color:var(--color-text-secondary);transition:all .2s ease}.chip-group .chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.chip-group .chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.duration-group{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.duration-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-4) var(--space-3);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1)}.duration-btn:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.duration-btn.active{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 4px var(--color-primary-light)}.duration-num{font-family:var(--font-heading);font-weight:800;font-size:2rem;color:var(--color-primary);line-height:1}.duration-unit{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary)}.duration-sub{font-size:.6875rem;color:var(--color-text-muted)}.goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media(min-width:768px){.goal-grid{grid-template-columns:repeat(4,1fr)}}.goal-grid .goal-btn:last-child{grid-column:1 / -1}@media(min-width:768px){.goal-grid .goal-btn:last-child{grid-column:auto}}.goal-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-4) var(--space-2);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1)}.goal-btn:hover{border-color:var(--color-primary);transform:translateY(-3px);box-shadow:var(--shadow-md)}.goal-btn.active{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 0 0 4px var(--color-primary-light)}.goal-icon{font-size:1.75rem;line-height:1}.goal-name{font-weight:700;font-size:.8125rem;color:var(--color-text)}.goal-desc{font-size:.6875rem;color:var(--color-text-muted)}.level-toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.level-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-4) var(--space-3);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;font-family:inherit;font-weight:600;font-size:.9375rem;color:var(--color-text);transition:all .25s ease}.level-option:hover{border-color:var(--color-primary);transform:translateY(-2px)}.level-option.active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-light)}.level-icon{font-size:1.5rem}.level-hint{font-size:.6875rem;color:var(--color-text-muted);font-weight:400}.adherence-group{display:flex;flex-direction:column;gap:var(--space-2)}.adherence-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;font-family:inherit;font-weight:600;font-size:.875rem;transition:all .2s ease}.adherence-option:hover{border-color:var(--color-primary)}.adherence-option.active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.adherence-dot{width:10px;height:10px;border-radius:var(--radius-full);flex-shrink:0}.adherence-dot.strict{background:var(--color-success)}.adherence-dot.basic{background:var(--color-accent)}.adherence-dot.partial{background:var(--color-text-muted)}.generate-btn{width:100%;padding:var(--space-5) var(--space-8);background:linear-gradient(135deg,var(--color-primary),#E04A2A);color:#fff;border:none;border-radius:var(--radius-xl);font-family:var(--font-heading);font-weight:800;font-size:1.125rem;cursor:pointer;position:relative;overflow:hidden;transition:all .3s ease;box-shadow:0 4px 24px #ff5e3a59;margin-top:var(--space-4)}.generate-btn:hover{transform:translateY(-2px);box-shadow:0 8px 32px #ff5e3a80}.generate-btn:active{transform:translateY(0) scale(.98)}.generate-btn-spark{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);transform:translate(-100%);transition:transform .6s ease}.generate-btn:hover .generate-btn-spark{transform:translate(100%)}.generate-btn.generating{animation:btnPulse .4s cubic-bezier(.4,0,.2,1)}@keyframes btnPulse{0%,to{transform:scale(1)}50%{transform:scale(.96)}}.prediction-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-md);max-width:860px;margin:0 auto}.prediction-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-3)}.prediction-header h2{font-size:1.25rem;margin:0}.prediction-badge{padding:4px 14px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700}.badge-high{background:color-mix(in srgb,var(--color-error) 15%,var(--color-bg));color:var(--color-error)}.badge-normal{background:color-mix(in srgb,var(--color-success) 15%,var(--color-bg));color:var(--color-success)}.badge-low{background:color-mix(in srgb,var(--color-info) 15%,var(--color-bg));color:var(--color-info)}.prediction-values{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.pv-item{text-align:center}.pv-label{display:block;font-size:.75rem;color:var(--color-text-muted);margin-bottom:2px}.pv-value{font-family:var(--font-heading);font-weight:800;font-size:1.5rem;color:var(--color-primary)}.pv-item.target .pv-value{color:var(--color-secondary)}.pv-arrow{font-size:1.5rem;color:var(--color-text-muted)}.prediction-meta{display:flex;gap:var(--space-5);margin-top:var(--space-3);flex-wrap:wrap}.pm-item{font-size:.8125rem;color:var(--color-text-secondary);font-weight:500}.prediction-strategy{margin-top:var(--space-6);padding:var(--space-5);background:var(--color-bg);border-radius:var(--radius-lg);border-left:4px solid var(--color-primary)}.prediction-strategy h4{font-size:.9375rem;margin-bottom:var(--space-2)}.prediction-strategy p{font-size:.875rem;color:var(--color-text-secondary);line-height:1.7;margin:0}.prediction-factors{margin-top:var(--space-5)}.prediction-factors h4{font-size:.875rem;margin-bottom:var(--space-2);color:var(--color-accent)}.prediction-factors ul{padding-left:var(--space-5);color:var(--color-text-secondary);font-size:.8125rem;line-height:1.8}.progress-card,.bfp-track-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-6) var(--space-8);box-shadow:var(--shadow-md);margin-bottom:var(--space-4);max-width:960px;margin-inline:auto}.progress-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-5)}.progress-info h3{font-size:1.25rem;margin-bottom:2px}.progress-info p{font-size:.8125rem;color:var(--color-text-muted);margin:0}.progress-stats{display:flex;align-items:center;gap:var(--space-5);background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5)}.stat-item{text-align:center}.stat-value{display:block;font-family:var(--font-heading);font-weight:800;font-size:1.5rem;color:var(--color-primary);line-height:1.2}.stat-label{font-size:.6875rem;color:var(--color-text-muted);font-weight:500}.stat-divider{width:1px;height:2rem;background:var(--color-border)}.progress-bar-track{height:8px;background:var(--color-bg);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-full);width:0%;transition:width .5s cubic-bezier(.4,0,.2,1)}.bfp-track-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.bfp-track-header h4{margin:0}.bfp-log-btn{display:inline-flex;align-items:center;gap:5px;padding:var(--space-2) var(--space-4);background:var(--color-primary-light);color:var(--color-primary);border:1.5px solid var(--color-primary);border-radius:var(--radius-full);font-family:inherit;font-weight:600;font-size:.8125rem;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.bfp-log-btn:hover{background:var(--color-primary);color:#fff;box-shadow:0 2px 10px #ff5e3a33;transform:translateY(-1px)}.bfp-log-btn:active{transform:scale(.97)}.bfp-track-reminder{margin-bottom:var(--space-3);font-size:.8125rem}.bfp-reminder-alert{padding:var(--space-3);background:color-mix(in srgb,var(--color-accent) 15%,var(--color-bg));border-radius:var(--radius-md);color:var(--color-accent);font-weight:600}.bfp-reminder-info{color:var(--color-text-muted);line-height:1.6}.bfp-track-entries{display:flex;flex-direction:column;gap:var(--space-1)}.bfp-entry{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-size:.8125rem}.bfp-entry-date{color:var(--color-text-muted);min-width:90px}.bfp-entry-val{font-weight:700;color:var(--color-primary);min-width:50px}.bfp-entry-wt{color:var(--color-text-secondary);min-width:50px}.bfp-entry-note{color:var(--color-text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-muted{color:var(--color-text-muted);font-size:.8125rem;text-align:center;padding:var(--space-4)}.week-tabs-wrapper,.day-tabs-wrapper{overflow-x:auto;margin-bottom:var(--space-4);-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:960px;margin-inline:auto;padding:0 var(--space-1)}.week-tabs-wrapper::-webkit-scrollbar,.day-tabs-wrapper::-webkit-scrollbar{display:none}.week-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);min-width:max-content}.week-tab{padding:var(--space-3) var(--space-6);background:#f2f2f2;border:none;border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-heading);font-weight:600;font-size:.9375rem;color:var(--color-text-secondary);transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap}.week-tab:hover{background:#e5e5e5;color:var(--color-text)}.week-tab.active{color:#fff;background:var(--color-primary);box-shadow:0 3px 12px #ff5e3a4d}.week-tab:active{transform:scale(.97)}.day-tabs{display:flex;gap:var(--space-2);min-width:max-content}.day-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-3) var(--space-4);background:#f2f2f2;border:none;border-radius:var(--radius-lg);cursor:pointer;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;min-width:88px}.day-tab:hover{background:#e5e5e5;transform:translateY(-1px)}.day-tab.active{background:var(--color-primary);box-shadow:0 3px 12px #ff5e3a4d}.day-tab.active .tab-num{color:#fff}.day-tab.active .tab-focus{color:#ffffffd9}.tab-num{font-family:var(--font-heading);font-weight:700;font-size:.8125rem;color:var(--color-text);letter-spacing:-.01em;transition:color .25s ease}.tab-focus{font-size:.6875rem;color:var(--color-text-muted);max-width:100px;overflow:hidden;text-overflow:ellipsis;transition:color .25s ease}.tab-check{position:absolute;top:-4px;right:-4px;width:18px;height:18px;display:none;align-items:center;justify-content:center;background:var(--color-success);color:#fff;border-radius:var(--radius-full);font-size:.625rem;font-weight:700;box-shadow:0 1px 3px #00000026}.day-tab.completed .tab-check{display:flex}.day-detail{max-width:960px;margin-inline:auto}.day-detail-placeholder{text-align:center;padding:var(--space-16) var(--space-4);color:var(--color-text-muted)}.placeholder-icon{font-size:3rem;display:block;margin-bottom:var(--space-3)}.day-content-card,.rest-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-sm);animation:cardEnter .3s ease}.rest-card{text-align:center}.rest-icon{font-size:4rem;display:block;margin-bottom:var(--space-3)}.rest-card h3{margin-bottom:var(--space-3)}.rest-card p{color:var(--color-text-secondary);font-size:.9375rem;max-width:400px;margin:0 auto var(--space-2)}.day-focus-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-border)}.day-focus-header h3{font-size:1.25rem;margin:0}.day-type-badge{padding:4px 14px;border-radius:var(--radius-full);font-size:.75rem;font-weight:700}.day-type-training{background:var(--color-primary-light);color:var(--color-primary)}.day-type-cardio{background:var(--color-accent-light);color:var(--color-accent)}.day-type-rest{background:var(--color-secondary-light);color:var(--color-secondary)}.cardio-hint{background:var(--color-accent-light);padding:var(--space-3);border-radius:var(--radius-md);font-size:.8125rem;color:var(--color-text-secondary);margin-bottom:var(--space-5)}.section-subtitle{font-size:1rem;margin-bottom:var(--space-4);color:var(--color-text)}.exercise-list{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-8)}.exercise-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:all .2s ease}.exercise-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.exercise-main{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.exercise-info{display:flex;flex-direction:column;gap:2px;flex:1}.exercise-name{font-weight:700;font-size:.9375rem;color:var(--color-text)}.exercise-meta{font-family:var(--font-heading);font-size:.9375rem;font-weight:700;color:var(--color-primary);white-space:nowrap}.exercise-detail-btn{display:inline-flex;align-items:center;gap:4px;margin-top:var(--space-2);padding:0;background:none;border:none;font-size:.8125rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;font-family:inherit;transition:color .2s ease}.exercise-detail-btn svg{width:13px;height:13px;transition:transform .2s ease}.exercise-detail-btn:hover{color:var(--color-primary)}.exercise-detail-btn:hover svg{transform:translate(2px)}.session-block{border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4);transition:all .2s ease}.session-phase-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.session-phase-dot{width:10px;height:10px;border-radius:var(--radius-full);flex-shrink:0}.session-phase-label{font-family:var(--font-heading);font-weight:700;font-size:.9375rem;color:var(--color-text)}.session-ex-count{margin-left:auto;font-size:.75rem;color:var(--color-text-muted)}.session-exercise-list{margin-bottom:0}.session-exercise-list .exercise-card{background:var(--color-surface)}.checkin-area{margin-bottom:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.checkin-btn{width:100%;padding:var(--space-5) var(--space-6);background:linear-gradient(135deg,var(--color-primary),#E04A2A);border:none;border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-heading);font-weight:700;font-size:1.125rem;color:#fff;display:flex;align-items:center;justify-content:center;gap:var(--space-3);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #ff5e3a59}.checkin-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px #ff5e3a80}.checkin-btn:active{transform:translateY(0) scale(.98)}.checkin-btn.checked{animation:checkBounce .5s cubic-bezier(.34,1.56,.64,1)}@keyframes checkBounce{0%{transform:scale(1)}30%{transform:scale(.95)}60%{transform:scale(1.05)}to{transform:scale(1)}}.checkin-btn-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);border:2px solid rgba(255,255,255,.6);font-size:.875rem;color:#fff;transition:all .3s ease}.checkin-btn:hover .checkin-btn-icon{background:#fff;color:var(--color-primary);border-color:#fff}.checkin-done{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-5) var(--space-6);background:color-mix(in srgb,var(--color-success) 10%,var(--color-bg));border:1px solid var(--color-success);border-radius:var(--radius-lg);font-weight:700;font-size:1rem;color:var(--color-success)}.checkin-icon{font-size:1.25rem}.checkin-time{font-size:.8125rem;color:var(--color-text-muted);font-weight:500}.recipe-inline-card{padding-top:var(--space-6);border-top:1px solid var(--color-border)}.recipe-inline-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4);background:var(--color-bg);border-radius:var(--radius-lg)}.recipe-clickable{cursor:pointer;transition:all .25s ease;border:1px solid transparent;position:relative}.recipe-clickable:hover{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 4%,var(--color-bg));transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.recipe-inline-name{font-weight:700;font-size:.9375rem;color:var(--color-secondary)}.recipe-inline-reason{font-size:.75rem;color:var(--color-text-muted)}.recipe-inline-hint{font-size:.7rem;color:var(--color-primary);opacity:0;transition:opacity .2s ease}.recipe-clickable:hover .recipe-inline-hint{opacity:1}.recipe-inline-macros{display:flex;gap:var(--space-4);flex-wrap:wrap}.macro-item{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary)}.recipe-modal-header{margin-bottom:var(--space-5)}.recipe-modal-title{font-size:1.5rem;margin-bottom:var(--space-1)}.recipe-modal-reason{color:var(--color-text-muted);font-size:.875rem}.recipe-modal-macros{display:flex;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap}.r-mm-item{text-align:center;padding:var(--space-3) var(--space-4);background:var(--color-bg);border-radius:var(--radius-lg);min-width:64px}.r-mm-val{display:block;font-family:var(--font-heading);font-size:1.25rem;font-weight:800;color:var(--color-primary)}.r-mm-label{display:block;font-size:.6875rem;color:var(--color-text-muted);margin-top:2px}.recipe-modal-time{display:inline-block;padding:var(--space-1) var(--space-3);background:color-mix(in srgb,var(--color-secondary) 10%,var(--color-bg));color:var(--color-secondary);border-radius:var(--radius-full);font-size:.8125rem;font-weight:600;margin-bottom:var(--space-5)}.detail-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.detail-section:first-of-type{margin-top:var(--space-3);padding-top:0;border-top:none}.detail-section h4{font-size:.9375rem;margin-bottom:var(--space-3)}.ingredient-list{padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.ingredient-list li{padding:var(--space-2) var(--space-3);background:var(--color-bg);border-radius:var(--radius-md);font-size:.8125rem;color:var(--color-text-secondary)}.step-list{padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.step-list li{display:flex;gap:var(--space-3);align-items:flex-start;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.6}.step-num{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700}.recipe-tag-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.recipe-tag{padding:var(--space-1) var(--space-3);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-bg));color:var(--color-primary);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.plan-actions{display:flex;justify-content:center;gap:var(--space-4);margin-top:var(--space-10);flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4) var(--space-7);border-radius:var(--radius-full);font-family:inherit;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;outline:none;position:relative;overflow:hidden;min-height:48px;white-space:nowrap}.action-btn-regenerate{background:linear-gradient(135deg,var(--color-primary),#E04A2A);color:#fff;box-shadow:0 4px 16px #ff5e3a4d}.action-btn-regenerate:hover{transform:translateY(-2px);box-shadow:0 8px 28px #ff5e3a73}.action-btn-regenerate:active{transform:translateY(0) scale(.97)}.action-btn-regenerate:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.15) 50%,transparent 70%);transform:translate(-100%);transition:transform .6s ease}.action-btn-regenerate:hover:after{transform:translate(100%)}.action-btn-reset{background:var(--color-bg);color:var(--color-text-secondary);border:1.5px solid var(--color-border)}.action-btn-reset:hover{background:var(--color-surface);border-color:var(--color-error);color:var(--color-error);box-shadow:0 2px 8px #ef44441a}.action-btn-reset:active{transform:scale(.97)}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.modal-overlay.is-open{opacity:1;visibility:visible}.modal-backdrop{position:absolute;inset:0;background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-container{position:relative;background:var(--color-surface);border-radius:var(--radius-2xl);width:100%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 24px 80px #00000040;transform:translateY(24px) scale(.97);transition:transform .35s cubic-bezier(.34,1.56,.64,1);overflow:hidden}.modal-container-sm{max-width:440px}.modal-overlay.is-open .modal-container{transform:translateY(0) scale(1)}.modal-close{position:absolute;top:var(--space-4);right:var(--space-4);z-index:10;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.modal-close:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:rotate(90deg)}.modal-body{overflow-y:auto;overscroll-behavior:contain;padding:var(--space-8) var(--space-8) var(--space-10)}.ex-modal-name{font-size:1.5rem;margin-bottom:var(--space-3)}.ex-modal-params{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-full);font-family:var(--font-heading);font-weight:700;font-size:1rem;margin-bottom:var(--space-6)}.ex-modal-section{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.ex-modal-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.ex-modal-section h3{font-size:1rem;margin-bottom:var(--space-2)}.ex-modal-section p{color:var(--color-text-secondary);font-size:.875rem;line-height:1.7}.ex-modal-tips{padding-left:var(--space-5);color:var(--color-text-secondary);font-size:.875rem;line-height:1.8}.ex-modal-tips li{margin-bottom:var(--space-1)}@media(max-width:768px){.form-row-2col{grid-template-columns:1fr}.config-card,.prediction-card{padding:var(--space-5)}.duration-num{font-size:1.5rem}.goal-grid{grid-template-columns:repeat(2,1fr)}.progress-header{flex-direction:column}.progress-stats{width:100%;justify-content:center}.progress-card,.bfp-track-card,.day-content-card,.rest-card{padding:var(--space-5)}.modal-container{max-width:95vw;max-height:90vh;border-radius:var(--radius-xl)}.modal-body{padding:var(--space-5) var(--space-4) var(--space-6)}.plan-actions{flex-direction:column;align-items:stretch;gap:var(--space-3)}.action-btn{width:100%;padding:var(--space-4);font-size:1rem}.prediction-values{flex-direction:column;align-items:center;gap:var(--space-3)}}
