:root{--bg: #0a0a0a;--card-bg: #141414;--card-border: rgba(255, 255, 255, .08);--text: #f0f0f0;--text-muted: rgba(255, 255, 255, .55);--accent: #e63946;--accent-hover: #ff4d5a;--green: #2ecc71;--blue: #3b82f6;--orange: #f59e0b;--purple: #a78bfa;--radius: .75rem;--shadow: 0 2px 12px rgba(0, 0, 0, .4);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{text-align:center;padding:2.5rem 1.5rem 1.5rem;background:linear-gradient(180deg,rgba(230,57,70,.08) 0%,transparent 100%)}.app-title{margin:0;font-size:2rem;font-weight:800;letter-spacing:-.03em;color:var(--text)}.title-icon{margin-right:.3em}.app-subtitle{margin:.5rem 0 0;color:var(--text-muted);font-size:.95rem}.app-main{flex:1;max-width:72rem;width:100%;margin:0 auto;padding:0 1.5rem 3rem}.app-footer{text-align:center;padding:1.5rem;color:var(--text-muted);font-size:.8rem;border-top:1px solid var(--card-border)}.form-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow)}.form-section h2{margin:0 0 1.25rem;font-size:1.25rem;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem}.form-field{display:flex;flex-direction:column;gap:.4rem}.field-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.form-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg);border:1px solid var(--card-border);border-radius:.5rem;padding:.6rem 2rem .6rem .75rem;color:var(--text);font-size:.9rem;font-family:inherit;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='rgba(255,255,255,0.5)' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;transition:border-color .15s}.form-field select:focus{outline:none;border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;font-family:inherit;font-size:.85rem;font-weight:600;padding:.55rem 1.25rem;border:none;border-radius:.5rem;cursor:pointer;transition:background .15s,transform .1s}.btn:active{transform:scale(.97)}.btn-generate{width:100%;background:var(--accent);color:#fff;font-size:1rem;padding:.75rem;border-radius:.5rem}.btn-generate:hover{background:var(--accent-hover)}.btn-regenerate{background:#e6394626;color:var(--accent);border:1px solid rgba(230,57,70,.3)}.btn-regenerate:hover{background:#e6394640}.btn-save{background:#2ecc7126;color:var(--green);border:1px solid rgba(46,204,113,.3)}.btn-save:hover{background:#2ecc7140}.btn-delete{background:#ffffff0f;color:var(--text-muted);border:1px solid var(--card-border)}.btn-delete:hover{background:#e6394626;color:var(--accent)}.btn-load{background:#3b82f626;color:var(--blue);border:1px solid rgba(59,130,246,.3)}.btn-load:hover{background:#3b82f640}.btn-saved-toggle{background:#a78bfa1f;color:var(--purple);border:1px solid rgba(167,139,250,.25)}.btn-saved-toggle:hover{background:#a78bfa38}.result-section h2{margin:0;font-size:1.25rem;font-weight:700}.result-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.result-actions{display:flex;gap:.5rem;flex-wrap:wrap}.routine-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.routine-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--card-border)}.routine-meta{display:flex;flex-wrap:wrap;gap:.5rem}.routine-actions{display:flex;gap:.5rem}.goal-badge,.level-badge,.days-badge{display:inline-flex;align-items:center;gap:.3em;font-size:.75rem;font-weight:600;padding:.3rem .65rem;border-radius:.4rem;letter-spacing:.02em}.goal-badge{background:#e6394626;color:var(--accent);border:1px solid rgba(230,57,70,.25)}.level-badge{background:#3b82f61f;color:var(--blue);border:1px solid rgba(59,130,246,.25)}.days-badge{background:#f59e0b1f;color:var(--orange);border:1px solid rgba(245,158,11,.25)}.goal-badge.small,.level-badge.small,.days-badge.small{font-size:.7rem;padding:.2rem .5rem}.schedule-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.day-card{background:#ffffff05;border:1px solid var(--card-border);border-radius:.6rem;padding:1rem;transition:border-color .15s}.day-card:hover{border-color:#ffffff26}.day-card.rest{opacity:.5;border-style:dashed}.day-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.75rem}.day-name{font-weight:700;font-size:.95rem}.day-label{font-size:.72rem;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.exercise-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.exercise-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.04)}.exercise-item:last-child{border-bottom:none}.exercise-name{font-size:.82rem;color:var(--text)}.exercise-detail{font-size:.72rem;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.rest-text{font-size:.8rem;color:var(--text-muted);font-style:italic;margin:0}.saved-section{margin-top:2rem}.saved-section h3{margin:0 0 1rem;font-size:1.1rem;font-weight:700}.empty-text{color:var(--text-muted);font-size:.9rem}.saved-list{display:flex;flex-direction:column;gap:.75rem}.saved-item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:.5rem;padding:.85rem 1rem}.saved-info{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.saved-actions{display:flex;gap:.4rem}@media(max-width:640px){.app-header{padding:2rem 1rem 1rem}.app-title{font-size:1.5rem}.app-main{padding:0 1rem 2rem}.form-section,.routine-card{padding:1.25rem}.form-grid,.schedule-grid{grid-template-columns:1fr}.result-header,.routine-header{flex-direction:column;align-items:flex-start}}@media(min-width:641px)and (max-width:1024px){.schedule-grid{grid-template-columns:repeat(2,1fr)}}
