/* Program creation: one clear sequence, with controls sized for touch. */
.builder{max-width:900px;margin-top:20px;padding:0!important;overflow:hidden}
.builder-section,.builder-footer{padding:24px;border-bottom:1px solid var(--edge)}
.builder-footer{border-bottom:0;background:linear-gradient(120deg,#a4df6309,transparent)}
.builder-step{font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--accent2);margin-bottom:16px}
.builder label{display:grid;gap:7px;margin:14px 0;color:var(--muted);font-size:.85rem;font-weight:600;min-width:0}
.builder input,.builder select{display:block;width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid #43533e;border-radius:10px;background:var(--bg);color:var(--text);font:inherit;font-size:1rem;line-height:1.4;font-weight:400;box-sizing:border-box}
.builder-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:18px 0 0}
.builder-week .daybtn{min-width:0;min-height:82px;padding:10px 5px;overflow-wrap:anywhere;border:1px solid var(--edge);background:var(--bg);font-size:.75rem;letter-spacing:0}
.builder-week .daybtn.active{background:linear-gradient(135deg,#d6ff97,#b9ed69);color:#192410;border-color:var(--accent)}
.builder-week .day-focus{font-size:.72rem;line-height:1.25;margin-top:5px}
.builder-week small{display:block;font-size:.65rem;line-height:1.3;margin-top:5px;opacity:.75;color:inherit}
.builder-heading,.builder-tools,.builder-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.builder-heading{align-items:flex-start;flex-wrap:wrap}
.builder-heading h2{margin:0;font-size:1.35rem;line-height:1.35}
.builder-heading>strong{flex:1;min-width:160px;font-size:1rem;line-height:1.45}
.builder-heading #builderRest{font-size:.8rem;min-height:44px;padding:8px 0}
.builder-tools{flex:none;gap:6px}
.builder-tools button{background:var(--panel2);color:var(--text);border:1px solid var(--edge);border-radius:9px;min-height:44px;min-width:44px;font:500 1.2rem/1 system-ui;cursor:pointer}
.builder-tools button:disabled{opacity:.3;cursor:default}
.builder-list-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:.95rem;margin:0 0 12px}
.builder-list-title span{font-size:.75rem;color:var(--muted);font-weight:500}
.builder-move{padding:16px;margin:10px 0;border:1px solid var(--edge);border-radius:14px;background:#0b140d65}
.builder-targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.builder-targets label{font-size:.75rem;margin:12px 0 0}
.builder-targets input{width:100%;min-width:0;font-size:1rem;font-variant-numeric:tabular-nums}
.builder details>summary{min-height:44px;font-size:.85rem}
.builder details.section-head{padding-top:10px;border-top:1px solid var(--edge);margin-top:16px}
.builder-empty{border:1px dashed #4c6044;border-radius:12px;padding:16px;background:#a4df6305}
.builder-empty strong{font-size:.95rem}.builder-empty p{font-size:.85rem;color:var(--muted);line-height:1.5;margin:6px 0 0}
.builder-results{max-height:300px;overflow:auto;overscroll-behavior:contain;margin-top:8px;padding:0 5px 4px 0}
.builder-result-count{font-size:.75rem;color:var(--muted);margin:4px 0 10px}
.builder-result{width:100%;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:12px;background:var(--bg);color:var(--text);border:1px solid var(--edge);border-radius:10px;margin:6px 0;font:inherit;cursor:pointer}
.builder-result>span:first-child{min-width:0;font-size:.9rem;overflow-wrap:anywhere}
.builder-result small{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}
.builder-result>span:last-child{font-size:1.4rem;color:var(--accent);flex:none}
.builder-error{color:#ffb3ac}.builder-error:empty{display:none}
.builder-actions{justify-content:flex-start;flex-wrap:wrap}.builder-actions .button{min-height:48px}
.builder-footer>.tiny{font-size:.75rem;margin:12px 0 0}
.builder-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
@media(max-width:600px){.builder-section,.builder-footer{padding:18px 16px}.builder-week{display:flex;overflow-x:auto;padding:0 0 8px;scroll-snap-type:x proximity}.builder-week .daybtn{flex:0 0 74px;scroll-snap-align:center}.builder-heading h2{font-size:1.15rem}.builder-move{padding:12px}.builder-targets{gap:8px}.builder-targets label{font-size:.7rem}.builder-actions .button{width:100%}.builder-heading>strong{min-width:140px}.builder-tools button{min-width:44px}.builder-result{padding:10px}}

/* Preview a movement before adding it; no nested interactive controls. */
.builder-result-card{border:1px solid var(--edge);border-radius:12px;background:var(--bg);margin:8px 0;overflow:hidden}
.builder-result-card>.builder-result{border:0;border-radius:0;margin:0;background:transparent}
.builder-result-card .builder-add-label{font-size:.8rem;font-weight:700;white-space:nowrap;color:var(--accent);padding:5px 8px;border-radius:8px;background:#c8f47712}
.builder-result-card>.exercise-visual{max-width:none;margin:0;padding:0 12px 6px}
.builder-result-card>.exercise-visual>summary{font-size:.8rem;min-height:44px;padding:6px 0}
.builder-result-card .exercise-guide img{max-width:100%}
.builder-result-card .technique-grid{grid-template-columns:1fr;gap:4px}
.builder-result-card .exercise-guide h4{font-size:.9rem}
.builder-result-card .exercise-guide p{font-size:.8rem}
.builder .builder-browse-all{width:100%;margin-top:8px;font-size:.85rem;min-height:44px}
