
:root{
  --ivory:#f7f3ea; --paper:#fffdf8; --sage:#7b927d; --deep:#33443a; --gold:#b69a62;
  --line:#ded8ca; --soft:#eef2eb; --warn:#9b713d;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ivory);color:var(--deep);font-family:Inter, ui-sans-serif, system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.shell{max-width:1180px;margin:auto;padding:28px}
.brandbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}
.eyebrow{letter-spacing:.16em;font-size:12px;font-weight:800;color:var(--gold)}
h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;margin:.25rem 0 .5rem}
h1{font-size:clamp(32px,4vw,54px)}
h2{font-size:clamp(26px,3vw,40px)}
.sub,.hero-card p{max-width:720px;color:#627066}
.pill,.time-badge{border:1px solid var(--line);background:var(--paper);padding:10px 14px;border-radius:999px;font-weight:700;white-space:nowrap}
.hero-card,.card{background:rgba(255,253,248,.94);border:1px solid var(--line);box-shadow:0 18px 45px rgba(51,68,58,.07);border-radius:24px}
.hero-card{padding:26px;margin-bottom:22px}
.mode-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
.mode-grid button,.starter-actions button,#addBtn{border:0;background:var(--deep);color:white;border-radius:14px;padding:13px 16px;font-weight:800}
.mode-grid button:hover,.starter-actions button:hover,#addBtn:hover{transform:translateY(-1px)}
.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:22px}
.card{padding:22px}
.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center}
.ghost{background:transparent;border:1px solid var(--line);border-radius:12px;padding:10px 13px;color:var(--deep)}
.controls{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}
label{font-size:12px;font-weight:800;letter-spacing:.05em}
select,input,textarea{width:100%;margin-top:6px;background:white;border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--deep)}
.prompt-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.starter-actions{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 20px}
.starter-actions button:nth-child(2){background:var(--sage)}
.class-list{display:flex;flex-direction:column;gap:10px}
.exercise-card{border:1px solid var(--line);background:white;border-radius:16px;padding:14px}
.exercise-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.exercise-name{font-weight:900;font-size:17px}
.meta{font-size:12px;color:#708077;margin-top:3px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tag{background:var(--soft);padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}
.card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.card-actions button{background:#faf8f2;border:1px solid var(--line);border-radius:9px;padding:7px 9px;font-size:12px;font-weight:800;color:var(--deep)}
.card-actions button.locked{background:var(--deep);color:white}
.upload-zone{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}
.progress{height:11px;background:#ebe6db;border-radius:999px;overflow:hidden;margin:14px 0 18px}
#progressBar{height:100%;width:0;background:var(--sage);transition:.25s}
.audit-list{display:flex;flex-direction:column;gap:8px}
.audit-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eee8dc}
.ok{font-weight:900;color:#56705a}.missing{font-weight:900;color:var(--warn)}
.smart-note{margin-top:18px;padding:14px;background:var(--soft);border-radius:14px;line-height:1.4}
footer{padding:24px 8px 8px;color:#7b817b;font-size:12px;line-height:1.6}
@media(max-width:900px){
 .workspace{grid-template-columns:1fr}.mode-grid{grid-template-columns:1fr 1fr}.controls{grid-template-columns:1fr 1fr}
 .brandbar{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){.shell{padding:14px}.mode-grid,.controls{grid-template-columns:1fr}.hero-card,.card{border-radius:18px}}

.buy-option{display:flex;flex-direction:column;gap:3px;text-align:left;padding:15px 16px;border:1px solid var(--line,#d8d1c5);border-radius:12px;background:white;color:inherit;text-decoration:none}
.buy-option strong{font-family:Georgia,serif;font-size:18px;color:#33463a}.buy-option span{font-size:12px;color:#6d756f}
.buy-option:hover{border-color:#b49355;transform:translateY(-1px)}
#creditPill{background:#fff8e8;border-color:#d9bd86}
/* Pilates Portfolio polished visual layer */
.brandbar{border-bottom:1px solid var(--line);padding-bottom:18px}.brandbar h1{font-weight:400;letter-spacing:-.02em}.hero-card{background:linear-gradient(135deg,#fffdf8,#f3f6f0)}.mode-grid button,.starter-actions button,#addBtn{border-radius:8px;letter-spacing:.02em}.buy-option{border-radius:10px}.buy-option strong{font-weight:400}.card{border-radius:18px}.exercise-card{border-radius:12px}.smart-note{border-radius:10px}
@media(max-width:560px){h1{font-size:34px;line-height:1.06}.sub{font-size:14px}.pill{font-size:11px;padding:8px 10px}.hero-card{padding:20px}.hero-card h2{font-size:28px}.mode-grid{gap:8px}.mode-grid button,.buy-option{min-height:52px}.workspace{gap:14px}.card{padding:18px}.section-head h3{font-size:25px}.starter-actions button{flex:1 1 100%}}
.member-library{border-color:#cbb88a;background:linear-gradient(135deg,#fffdf8,#f7f0e2)}
.library-save,.download-actions button{border:0;background:var(--deep);color:#fff;border-radius:8px;padding:12px 15px;font-weight:800;cursor:pointer}
.download-actions{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0 10px}.download-actions button:nth-child(2){background:var(--sage)}
.library-status{font-size:13px;color:#6b756d;margin:10px 0}.saved-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.saved-plan{background:white;border:1px solid var(--line);border-radius:12px;padding:14px}.saved-plan h4{font-size:19px;margin:0 0 4px}.saved-plan .meta2{font-size:12px;color:#718078;margin-bottom:10px}
.saved-plan-actions{display:flex;gap:6px;flex-wrap:wrap}.saved-plan-actions button{border:1px solid var(--line);background:#faf8f2;color:var(--deep);border-radius:7px;padding:7px 9px;font-size:11px;font-weight:800}
@media(max-width:900px){.saved-plans{grid-template-columns:1fr 1fr}}@media(max-width:560px){.saved-plans{grid-template-columns:1fr}.download-actions button,.library-save{width:100%}}

.segment-label{margin:20px 0 8px;padding:8px 12px;border-left:3px solid #b59a62;background:#f6f2e8;font-family:Georgia,serif;font-size:16px;color:#374b3d;letter-spacing:.02em}.intent{margin-top:7px;line-height:1.45;color:#49594f}.intent strong{color:#2f4036}
