
:root{font:16px/1.35 system-ui,-apple-system,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#173a40;background:#eef3f1;color-scheme:light}
*{box-sizing:border-box}body{margin:0}.shell{max-width:700px;margin:auto;min-height:100vh}
.top{background:#173a40;color:#fff;padding:10px 14px}.eyebrow{color:#a3d7ce;font-weight:750;font-size:.65rem;letter-spacing:.07em}.headline{display:flex;align-items:center;justify-content:space-between;gap:8px}.headline h1{font-size:1.2rem;margin:4px 0;line-height:1.15}.chip{font-size:.65rem;border:1px solid #87c4b9;border-radius:99px;padding:3px 6px;color:#c9eee6;white-space:nowrap}
.state{margin:7px 10px 0;border:1px solid #f0d4a0;border-radius:7px;padding:6px 9px;font-size:.73rem;font-weight:650}.state-warn{background:#fff4d9;color:#84520a}.state-error{background:#ffecef;color:#982e3e}
.tabs{display:flex;gap:0;margin:3px 10px 0;position:sticky;top:0;z-index:5;background:#eef3f1;border-bottom:1px solid #d5e0dd}.tab{flex:1;padding:8px;border:0;border-bottom:3px solid transparent;background:transparent;color:#526b6e;font:inherit;font-size:.85rem;font-weight:750;min-height:39px}.tab.active{border-color:#087974;color:#09605d}
main{padding:5px 10px 30px}.card{background:#fff;border:1px solid #dfebe6;border-radius:12px;padding:10px 11px 12px;margin:3px 0 12px;box-shadow:0 1px 4px #193c4010}.entry-card{padding-bottom:5px}
.card label{display:block;font-weight:750;font-size:.76rem}.card input:not([type=file]),.card textarea{font:inherit;color:#183339;border:1px solid #b8ceca;border-radius:7px;min-height:40px;padding:6px 8px;background:#fff}.card input:focus,.card textarea:focus,.card button:focus-visible{outline:2px solid #5daea7;outline-offset:1px}
button{touch-action:manipulation;cursor:pointer}.button-primary,.button-secondary{border-radius:8px;font:inherit;font-weight:740;padding:7px 10px;min-height:36px}.button-primary{background:#087973;color:white;border:1px solid #087973}.button-secondary{color:#106965;background:#eff8f5;border:1px solid #afcfca;font-size:.78rem}button:disabled{opacity:.55;cursor:default}
.meta-row{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}.meta-top{display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0}.meta-top .date-label{flex:1;min-width:0;white-space:nowrap}.meta-row>input[type=date]{display:block;width:100%;max-width:100%;min-width:0;min-height:40px;font-size:.92rem!important}.compact-field span{display:block;margin-bottom:4px}.compact-field input{width:100%;font-size:.92rem!important}.session-box{display:flex;align-items:center;gap:5px;white-space:nowrap;flex-shrink:0;min-width:0}.tiny-label{font-size:.73rem;white-space:nowrap}.session-box button{padding:4px 8px;min-height:31px}.exercise-field{display:block;margin-top:9px}.exercise-field input{background:#edf4f2!important;min-height:39px!important}
.previous-strip{margin-top:6px;background:#eef7f3;border-radius:8px;padding:7px;display:flex;gap:6px;align-items:center;min-height:35px}.previous-strip>span{font-size:.76rem;flex:1;min-width:0;line-height:1.35;overflow-wrap:anywhere}.previous-strip button{flex-shrink:0;min-height:32px;padding:4px 7px}
.section-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.set-topline{margin-top:8px;margin-bottom:2px}.set-topline h2{font-size:.96rem;margin:0}.set-topline small{font-size:.67rem;font-weight:450;color:#637f7c}
.set-headings,.compact-set-row{display:grid;grid-template-columns:26px minmax(62px,1.25fr) minmax(54px,1fr) minmax(54px,1fr) 29px;gap:5px;align-items:center}
.set-headings{font-size:.66rem;color:#607774;font-weight:750;text-align:center;padding:5px 2px 3px}.compact-set-row{padding:3px 1px;border-bottom:1px solid #e8eeeb}.set-num{font-size:.82rem;text-align:center;font-weight:750}.compact-set-row input{width:100%;min-width:0;height:41px;min-height:41px!important;padding:5px 4px!important;text-align:center;font-size:1rem!important;font-variant-numeric:tabular-nums}.compact-set-row .remove-set{width:28px;min-height:32px;padding:2px 0;font-size:.83rem;background:#fff;color:#7d3d3d;border:1px solid #efdddd}.weight-cell{position:relative;min-width:0}.compact-set-row .weight-cell input{padding-right:39px!important}.compact-set-row .weight-cell input:disabled{background:#edf5f1;color:#607b73}.bodyweight-toggle{position:absolute;right:3px;top:50%;transform:translateY(-50%);padding:2px 3px;min-height:31px;max-width:39px;font:inherit;font-size:.68rem;font-weight:800;line-height:1.1;border:1px solid #a4c6bf;border-radius:6px;color:#1c6860;background:#eaf6f1;touch-action:manipulation}.bodyweight-toggle[aria-pressed=true]{background:#087973;color:white;border-color:#087973}.weight-hint{margin:6px 0 0;font-size:.62rem;color:#627e77}.set-bottom{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:8px 0 2px}.tiny-note{font-size:.65rem;color:#617b7a;text-align:right}
.notes-details{margin-top:5px;color:#49736b;font-size:.76rem}.notes-details summary{cursor:pointer;min-height:29px;display:flex;align-items:center}.notes-details textarea{display:block;width:100%;min-height:52px;margin:4px 0;background:#e9f0ee!important;color:#47736a!important}
.form-actions{position:sticky;bottom:0;z-index:4;background:linear-gradient(to top,white 92%,#ffffffcc);padding:7px 0 max(7px,env(safe-area-inset-bottom));margin-top:2px}.form-actions button{width:100%;min-height:47px;font-size:1rem}.form-actions small{font-weight:480;font-size:.72rem}
.history-card h2,.card h2{font-size:1.03rem;margin:5px 0}.hint{font-size:.74rem;color:#5a7572;line-height:1.5}.history-filter{display:flex;align-items:center;gap:8px;margin:9px 0}.history-filter label{white-space:nowrap}.history-filter input{flex:1;min-width:0}.history-list{display:grid;gap:8px}.history-item{background:#f6faf8;border:1px solid #dae7e2;border-radius:9px;padding:9px}.history-title{font-weight:750}.history-meta{font-size:.72rem;color:#607a77}.history-line{font-size:.85rem;margin-top:3px;white-space:pre-line}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin:6px 0}.calendar-nav button{font-size:1.15rem;min-height:32px;padding:0 15px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-grid .weekday{font-size:.65rem;text-align:center;color:#647e79}.calendar-day{padding:3px 0;min-height:34px;border:1px solid transparent;border-radius:6px;background:#f6faf8;font:inherit;font-size:.84rem;position:relative;color:#273f40}.calendar-day.has-record{background:#d6eee6;border-color:#88bdae;font-weight:750}.calendar-day.selected{outline:2px solid #0a7b73}.calendar-day.today{color:#c24e31}.calendar-day.is-empty{visibility:hidden}
.feedback{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 22px),650px);z-index:12;border-radius:9px;border:1px solid #9ed4c5;background:#e5f7ee;color:#205e48;padding:12px 10px;font-size:.84rem;box-shadow:0 5px 20px #173a4033;white-space:pre-wrap}.feedback.error{background:#ffebee;color:#982e3e;border-color:#ecc4ce}
hr{border:0;border-top:1px solid #e0eae6;margin:18px 0}footer{font-size:.67rem;color:#617c75;text-align:center;padding:4px 10px 14px}[hidden]{display:none!important}
@media(max-width:360px){.top{padding:9px 10px}.chip{font-size:.56rem}.session-box{gap:3px}.tiny-label{font-size:.67rem}.button-secondary{padding:5px 6px}.set-headings,.compact-set-row{grid-template-columns:24px minmax(62px,1.3fr) minmax(46px,1fr) minmax(46px,1fr) 26px;gap:3px}.compact-set-row .remove-set{width:26px}.compact-set-row .weight-cell input{padding-right:35px!important}.bodyweight-toggle{font-size:.61rem;max-width:35px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Slice C3: home-first navigation. Keep original C2 set inputs and history intact. */
.shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
main{padding-bottom:10px}
.bottom-tabs{position:fixed;top:auto;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,700px);margin:0;z-index:10;background:#fff;border:1px solid #d5e0dd;border-bottom:0;box-shadow:0 -3px 16px #163c3b20;padding-bottom:env(safe-area-inset-bottom)}
.bottom-tabs .tab{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;padding:6px 1px;min-height:55px;font-size:.75rem;border-bottom:0;border-top:3px solid transparent}
.bottom-tabs .tab.active{border-top-color:#087974;background:#edf7f3}
.tab-icon{font-size:1.22rem;line-height:1.1}
.form-actions{bottom:calc(56px + env(safe-area-inset-bottom))}
.feedback{bottom:calc(65px + env(safe-area-inset-bottom))}
.home-label{font-size:.65rem;color:#55746e;font-weight:750}
.home-card{padding:8px 10px 10px}
.home-card h2{font-size:1.04rem;margin:1px 0 2px}
.home-month-nav{padding:1px 2px 2px;margin:3px 0}
.home-month-nav button{min-height:32px;padding:0 12px;font-size:1rem}
.home-month-nav strong{font-size:.98rem}
.home-calendar .weekday{font-size:.65rem;line-height:1.2}
.home-calendar .calendar-day{min-height:34px;font-size:.88rem;padding:2px 0}
.home-card .home-record-action{display:block;width:100%;min-height:44px;margin:8px 0 5px;text-align:center;font-size:.95rem}
.home-calendar-hint{margin:4px 0 3px;font-size:.68rem;line-height:1.35}
.home-calendar .calendar-day.has-record{background:#d0ece0;border-color:#75ad98;color:#07574a}
.home-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 2px}
.home-summary>div{background:#eff7f3;border-radius:9px;text-align:center;padding:7px 3px 5px;min-width:0}
.home-summary span{display:block;font-size:.68rem;color:#496b64}
.home-summary strong{font-size:1.24rem;font-variant-numeric:tabular-nums;color:#07594c}
.home-summary small{font-size:.67rem;margin-left:3px}
.home-next-card .home-action{display:block;width:100%;margin-top:9px;min-height:44px;text-align:center}
.home-next-card h2{margin:4px 0}
@media(max-width:360px){.home-calendar .calendar-day{min-height:32px}}
/* On short mobile browser viewports, leave room for the record action above fixed tabs. */
@media(max-height:520px){
 .home-card h2{font-size:.95rem}
 .home-month-nav{margin:1px 0;padding:0}
 .home-month-nav button{min-height:30px}
 .home-calendar .calendar-day{min-height:29px;font-size:.82rem}
 .home-card .home-record-action{margin:6px 0 4px}
}

/* Slice C4: synthetic-only multi-exercise selection. Home calendar dimensions remain unchanged. */
.demo-exercise-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:7px}
.demo-exercise-choice{min-width:0;min-height:44px;padding:5px 2px;border:1px solid #b2d0c9;border-radius:8px;background:#f2f8f5;color:#28645d;font:inherit;font-size:.77rem;font-weight:750}
.demo-exercise-choice.selected{border-color:#087973;background:#d7f0e7;color:#07594c;box-shadow:inset 0 0 0 1px #087973}
.demo-entry-hint{font-size:.68rem;line-height:1.4;color:#5c7772;margin:6px 0 4px}
.session-progress{font-size:.73rem;color:#0b6559;font-weight:700;background:#eff7f3;border-radius:7px;padding:7px;margin:5px 0}


/* Slice C5 prep: reorderable demo menu for equipment availability adjustments. */
.demo-menu-card{margin-top:8px}
.demo-menu-head{align-items:flex-start;margin-bottom:6px}
.demo-menu-head h2{font-size:.96rem;margin:0}
.demo-menu-sub{font-size:.64rem;color:#55746e;font-weight:700;text-align:right;line-height:1.3}
.demo-exercise-list{display:grid;gap:7px}
.demo-exercise-item{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:6px;align-items:center;background:#f5faf8;border:1px solid #d8e6e1;border-radius:10px;padding:6px}
.demo-exercise-item.selected{border-color:#7ab59f;background:#e8f5ef;box-shadow:inset 0 0 0 1px #8bc0af}
.demo-select{display:flex;align-items:center;gap:8px;min-width:0;min-height:48px;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:#183339;font:inherit;text-align:left}
.demo-order-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#e4efea;color:#2b5e58;font-size:.77rem;font-weight:800;flex-shrink:0;font-variant-numeric:tabular-nums}
.demo-exercise-item.selected .demo-order-number{background:#087973;color:#fff}
.demo-label-wrap{display:grid;gap:1px;min-width:0}
.demo-title{font-size:.84rem;font-weight:800;color:#173a40;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.demo-meta{font-size:.68rem;color:#5d7874}
@media(max-width:360px){.demo-exercise-item{padding:5px}.demo-select{gap:6px;padding:5px 6px}.demo-order-number{width:30px;height:30px;font-size:.72rem}.demo-title{font-size:.79rem}.demo-meta{font-size:.64rem}}

/* Slice C4 revision: touch-friendly vertical drag and body-part categorized add menu. */
.demo-menu-card{margin-top:8px}
.demo-exercise-list{gap:6px;overflow:visible}
.demo-exercise-item{position:relative;grid-template-columns:minmax(0,1fr) 30px;gap:4px;min-width:0;transition:border-color .12s,box-shadow .12s}
.demo-exercise-item.dragging{z-index:8;box-shadow:0 10px 22px #123a4050;background:#d6eee7;border:2px solid #087973;transition:none;will-change:transform}
.demo-exercise-item.drop-target{border-color:#087973;box-shadow:0 0 0 2px #08797360}
.demo-exercise-item .demo-select{min-height:54px;min-width:0;padding:5px 9px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}
.demo-exercise-item .demo-order-number{width:29px;height:29px}
.demo-exercise-item .demo-label-wrap{min-width:0}
.demo-exercise-item.dragging .demo-select{cursor:grabbing}
.demo-remove{border:0;border-radius:6px;min-width:26px;min-height:34px;background:#f7eeee;color:#9b5050;font-size:1.1rem;font-weight:700}
.demo-remove:disabled{opacity:.35}
.demo-catalog{border-top:1px solid #e2ece8;padding-top:10px;margin-top:10px}
.demo-catalog h2{font-size:.95rem;margin:0}
.demo-category-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:9px 0}
.demo-category-choice{min-height:42px;border-radius:8px;border:1px solid #bbd5cd;background:#f1f8f5;color:#315f57;font:inherit;font-weight:750;font-size:.81rem}
.demo-category-choice.selected{background:#087973;color:#fff;border-color:#087973}
.demo-catalog-exercises{display:grid;gap:5px}
.demo-catalog-row{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:45px;padding:5px 8px;border-radius:7px;background:#f5faf8;border:1px solid #e4eeea;font-size:.83rem;font-weight:700}
.demo-catalog-row button{min-height:34px;min-width:80px}
@media(max-width:360px){
 .demo-exercise-item{grid-template-columns:minmax(0,1fr) 25px;gap:2px;padding:4px}
 .demo-exercise-item .demo-select{gap:4px;padding:5px 7px}
 .demo-exercise-item .demo-order-number{width:25px;height:25px}
 .demo-remove{min-width:23px}
}


/* C4 inline tree editor + long-press reorder */
.demo-exercise-item{grid-template-columns:minmax(0,1fr) 30px}
.demo-exercise-item.expanded{background:#eef8f4}
.demo-exercise-item.drag-armed{box-shadow:0 0 0 2px #08797340}
.demo-exercise-item .demo-select{touch-action:manipulation;cursor:pointer}
.demo-editor-slot{grid-column:1 / -1;padding:0 2px 2px}
.demo-inline-editor{margin-top:4px;padding:8px 7px 3px;border-top:1px dashed #bfd7d0;background:#ffffff;border-radius:8px}
.demo-inline-editor .previous-strip{margin-top:4px}
.demo-inline-editor .set-topline{margin-top:6px}
.demo-inline-editor .form-actions{position:static;background:transparent;padding:6px 0 max(2px,env(safe-area-inset-bottom))}
.demo-inline-editor .form-actions button{min-height:44px}
.demo-inline-editor .notes-details{margin-bottom:2px}
#inline-editor-host{display:block}
.exercise-field[hidden]{display:none!important}
@media(max-width:360px){
  .demo-editor-slot{padding:0 0 2px}
  .demo-inline-editor{padding:7px 5px 2px}
}

/* C4.2 recognizable trial release marker; validates right package is running. */
.release-check{margin:7px 0 7px;padding:6px 8px;border-radius:6px;background:#d7efe3;color:#065b4a;font-weight:800;font-size:.73rem;border:1px solid #8dc4ac}
.demo-exercise-item.expanded{border-color:#61ad96;box-shadow:0 0 0 1px #b2d9cb}
.demo-exercise-item.expanded .demo-editor-slot{background:#fff;border-radius:8px;margin:3px 1px 1px}

/* C4.3: saved completed sets stay visible under every exercise even when input is collapsed. */
.demo-saved-summary{grid-column:1 / -1;border-top:1px solid #d6e5e0;margin:0 3px 1px;padding:4px 6px 3px;min-width:0}
.demo-saved-title{font-size:.67rem;color:#617a74;line-height:1.3;font-weight:700}
.demo-saved-summary.has-saved-sets .demo-saved-title{color:#17675b;font-weight:800}
.demo-saved-table{display:grid;gap:0;margin:3px 0 1px;min-width:0}
.demo-saved-set{display:grid;grid-template-columns:28px minmax(76px,1.4fr) minmax(55px,.85fr) minmax(52px,.85fr);gap:3px;align-items:center;border-top:1px solid #e6ede9;min-height:26px;padding:3px 0;font-size:.78rem;font-weight:650;line-height:1.3;font-variant-numeric:tabular-nums}
.demo-saved-no{color:#55756d;font-weight:750}
.demo-saved-value{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#263f41}
.demo-editor-slot{margin-top:2px}
@media(max-width:360px){.demo-saved-set{grid-template-columns:21px minmax(70px,1.45fr) minmax(43px,.85fr) minmax(43px,.85fr);gap:2px;font-size:.69rem}}

/* C4.4: cardio metrics and iPhone input affordances */
.cardio-input{margin-top:6px;padding:8px 2px}
.cardio-input h2{font-size:.96rem;margin:2px 0 8px}
.cardio-input h2 small{font-size:.71rem;color:#657d79;font-weight:500}
.cardio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.cardio-grid label{min-width:0;display:grid;gap:4px;font-size:.75rem}
.cardio-grid label span{font-size:.68rem;color:#647975;font-weight:450}
.cardio-grid input{width:100%;min-width:0;font-size:1rem!important;min-height:44px!important}
.demo-saved-cardio{grid-template-columns:24px minmax(0,1fr)!important}
.demo-saved-cardio .demo-saved-value{font-size:.73rem!important;line-height:1.45;overflow-wrap:anywhere}
@media(max-width:350px){.cardio-grid{gap:6px}.cardio-grid input{font-size:.91rem!important}}


/* C4.5: progressive disclosure; one primary action per area. */
.demo-catalog{border-top:0;margin-top:10px;padding:0}
.catalog-toggle{display:flex;align-items:center;justify-content:space-between;list-style:none;
  padding:11px 13px;min-height:44px;border:1px solid #a9cfc2;border-radius:10px;
  background:#f0f8f4;color:#086c60;font-size:.9rem;font-weight:800;cursor:pointer}
.catalog-toggle::-webkit-details-marker{display:none}
.catalog-toggle span{font-size:1.15rem;transition:transform .15s}
.demo-catalog[open] .catalog-toggle span{transform:rotate(180deg)}
.catalog-content{padding:8px 2px 2px}
.catalog-note{margin:0 0 5px;font-size:.73rem;color:#5d7874;font-weight:700}
.demo-entry-hint{font-size:.65rem;margin:4px 0 1px}
.release-check{display:inline-block;font-size:.65rem;font-weight:750;padding:3px 6px;margin:2px 0 8px}
.home-next-card .hint{display:none}

/* C4.5: show actual saved records, not repeated empty-state placeholders. */
.demo-saved-summary:not(.has-saved-sets){display:none}
.demo-exercise-item:not(.expanded) .demo-select{min-height:48px}
.demo-exercise-item:not(.expanded){padding-top:5px;padding-bottom:5px}
/* Repeated footer notice is unnecessary while the persistent trial warning is visible. */
footer{display:none}

/* C4.6: progressive repeat action, visible only after a filled set. */
.set-bottom{flex-wrap:wrap;justify-content:flex-start;gap:7px}
.set-bottom button{flex:1 1 auto;min-height:42px;font-size:.77rem;padding:7px 9px}
.set-bottom .quick-repeat{background:#e9f7ef;border-color:#7cbaa8;color:#06685d;font-weight:800}
.set-bottom .quick-repeat[hidden]{display:none!important}

/* C4.7 single tap (normal scroll remains native until the long-press activates). */
.demo-select{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.demo-plan-target{grid-column:1/-1;color:#785b28;background:#fff7e8;
  padding:5px 8px;border-radius:6px;font-size:.72rem;line-height:1.45}
.transfer-panel{margin:10px 0;border:1px solid #b6d3cd;border-radius:10px;background:#fff}
.transfer-panel>summary{list-style:none;padding:13px;cursor:pointer;font-weight:800;color:#096c61}
.transfer-panel>summary::-webkit-details-marker{display:none}
.transfer-panel>summary span{float:right}
.transfer-content{padding:0 12px 12px}
.transfer-content label{display:block;margin:10px 0 4px;font-weight:750;font-size:.8rem}
.transfer-content textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #b3cbc5;
  border-radius:8px;padding:9px;font-size:14px;line-height:1.5;background:#f8fbfa;color:#223f3c}
.transfer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.transfer-actions button{flex:1 1 130px}
.transfer-content hr{margin:15px 0;border:0;border-top:1px solid #d9e8e4}


/* C4.8 native dropdown catalog and optional inline custom exercise */
.catalog-select-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:8px;margin:8px 0}
.catalog-select-grid label{display:grid;gap:4px;color:#335a55;font-weight:750;font-size:.74rem}
.catalog-select-grid select{width:100%;min-width:0;min-height:44px;background:#fff;border:1px solid #bfd8ce;
 border-radius:9px;padding:7px 8px;color:#1c3f3c;font-size:16px}
.new-exercise-form{display:grid;gap:8px;background:#f5faf7;border:1px solid #d4e5dc;
 padding:10px;border-radius:10px;margin:8px 0}
.new-exercise-form[hidden]{display:none}
.new-exercise-form label{font-size:.78rem;font-weight:750}
.new-exercise-form input{font-size:16px;min-height:44px;border-radius:8px;border:1px solid #bfd8ce;padding:8px}
#catalog-add{width:100%;min-height:42px}
#catalog-add[hidden]{display:none}
#catalog-export-output{font-size:.78rem;line-height:1.4}
@media(max-width:340px){.catalog-select-grid{grid-template-columns:1fr}}

/* C4.9: catalog preservation; no changes to set input or navigation layout. */
#catalog-backup-output,#catalog-restore-input{display:block;width:100%;min-height:105px;margin:6px 0 10px;resize:vertical;font-size:.78rem;line-height:1.5}
#catalog-health,#catalog-safety-health{margin:7px 0;font-size:.72rem}
.catalog-warning{color:#9b283b!important;font-weight:750}

/* C4.10: staged / committed distinction and one daily commit control. */
.daily-save-card{margin:10px 0 12px;border:1px solid #a3c8bf;border-radius:12px;padding:11px;background:#f0f8f4}
.daily-save-card #save-workout{width:100%;min-height:48px;font-size:1rem;font-weight:800}
.daily-save-card #save-workout:disabled{opacity:.55;cursor:default}
.daily-save-card #discard-drafts{width:100%;min-height:32px;font-size:.71rem;margin-top:6px;background:transparent;border-color:#cbd7d2;color:#617973}
.daily-save-card #discard-drafts:disabled{display:none}
.draft-daily-status{margin:0 0 8px;font-size:.76rem;color:#0f665a;font-weight:800;line-height:1.5}
.demo-saved-summary.has-draft-sets{display:block!important}
.demo-saved-summary:not(.has-saved-sets):not(.has-draft-sets){display:none}
.demo-draft-block{display:grid;gap:3px;background:#fff8e8;border-left:3px solid #d1a03f;border-radius:4px;padding:5px 7px;margin-top:4px;color:#624714;font-size:.71rem;line-height:1.4}
.demo-draft-block strong{font-size:.72rem}
.demo-draft-block span{overflow-wrap:anywhere}

/* C4.11: read-only plan sheet, separate daily weight input, secondary JPEG presentation. */
.quick-plan-button{width:100%;margin:5px 0 8px;min-height:44px;font-weight:800}
.plan-overlay:not([hidden]){display:flex;position:fixed;inset:0;z-index:100;background:#102824b8;align-items:flex-end;justify-content:center}
.plan-sheet{box-sizing:border-box;width:100%;max-width:620px;max-height:88dvh;overflow-y:auto;background:#fffdfa;border-radius:18px 18px 0 0;padding:17px 17px max(28px,env(safe-area-inset-bottom));box-shadow:0 -6px 40px #0004}
.plan-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.plan-sheet-head h2{margin:3px 0 12px}
.plan-sheet-card{border-bottom:1px solid #d7e7df;padding:10px 2px}
.plan-sheet-card strong{display:block;margin-bottom:6px}
.plan-sheet-card p{margin:4px 0;line-height:1.5;font-size:.83rem}
.plan-sheet-notes{color:#805725;background:#fff7e7;padding:6px 8px;border-radius:6px}
.plan-sheet-empty{padding:16px 6px;font-size:.9rem}
.daily-weight-card,.daily-jpeg-card{border:1px solid #c6ddd4;background:#f7fbf8;border-radius:11px;padding:12px;margin:10px 0}
.daily-weight-card h2{font-size:.93rem;margin:0}
.daily-weight-card .section-row{flex-wrap:wrap;gap:5px}
.daily-weight-controls{display:flex;gap:9px;align-items:end;margin:10px 0}
.daily-weight-controls label{display:grid;gap:4px;font-size:.8rem;flex:1}
.daily-weight-controls input{max-width:165px;width:100%;box-sizing:border-box;font-size:16px;min-height:44px;border:1px solid #a9c4bc;padding:7px 10px;border-radius:8px}
.daily-weight-controls button{min-height:44px;flex-shrink:0}
#daily-bodyweight-status{font-weight:750}
#export-jpeg{width:100%;min-height:44px}
#jpeg-preview{display:block;width:100%;height:auto;background:white;border:1px solid #c6ddd4;margin:10px 0;touch-action:pan-y}
.jpeg-link{display:block;text-align:center;padding:12px;text-decoration:none;border-radius:8px}

.jpeg-share{width:100%;min-height:43px;margin:5px 0}

.home-calendar .calendar-day.has-weight:not(.has-record){background:#fff3da;border:1px solid #dfc18d;color:#735726}

/* PROJECT MAGI C4.12 — muted amber / graphite athletic UI.
 * CSS-only change. No images, fonts, network requests, layout/drag handlers or stored-data migration.
 */
:root{
  color-scheme:dark;
  --m-bg:#0d171f;--m-surface:#172530;--m-raised:#1d2d39;--m-well:#111e27;
  --m-line:#354a58;--m-text:#edf3f5;--m-sub:#b0c2ca;
  --m-accent:#d8a14f;--m-accent-hi:#efbc72;--m-red:#e78e88;
  color:var(--m-text);background:var(--m-bg)
}
body{background:var(--m-bg);color:var(--m-text)}
.shell{background:linear-gradient(180deg,#1b2b35 0,#0d171f 215px,#0d171f 100%)}
.top{
  background:radial-gradient(circle at 94% 15%,#a47d3c33 0 9%,transparent 30%),
    linear-gradient(113deg,#14232d 5%,#24333c 62%,#111c23 100%);
  border-bottom:1px solid #56605261;
  padding:15px 16px 17px;position:relative;overflow:hidden
}
.top:after{
  content:"";position:absolute;right:-20px;top:-51px;width:190px;height:190px;
  border:17px solid #8a84703a;border-radius:50%;box-shadow:inset 0 0 0 7px #08121a,inset 0 0 0 23px #74808b30,
  0 0 0 10px #0e1a2533;pointer-events:none
}
.top>*{position:relative;z-index:1}
.eyebrow{color:var(--m-accent-hi);font-size:.72rem;letter-spacing:.095em}
.headline h1{font-size:1.32rem;font-weight:850;letter-spacing:.025em;line-height:1.25}
.chip{border-color:#6e8190;color:#e2e7e5;background:#111e2788}
.state{background:#342b20;color:#f0cd92;border-color:#7a623b;border-radius:8px;margin:9px 10px 5px}
.state-error{background:#4b2730;color:#ffd2d3;border-color:#aa5c61}
main{padding:8px 10px 12px}
.card,.entry-card,.demo-inline-editor,.demo-catalog,.transfer-panel,
.daily-save-card,.daily-weight-card,.daily-jpeg-card{
  background:var(--m-surface);color:var(--m-text);
  border:1px solid var(--m-line);border-radius:12px;
  box-shadow:0 3px 15px #030c1280
}
.card{padding:12px;margin-bottom:11px}
.card h2,.section-row h2,.demo-menu-head h2,.history-card h2,
.set-topline h2,.card label,.meta-top label{color:var(--m-text)}
.section-row h2,.set-topline h2{letter-spacing:.01em}
.hint,.weight-hint,.demo-menu-sub,.daily-jpeg-card .hint,.daily-weight-card .hint,
.tiny-note,.notes-details,.set-topline small,.cardio-input h2 small,
.cardio-grid label span,.compact-field span,.set-headings,.demo-meta,.demo-entry-hint,
.catalog-note,.history-meta,.history-line,.home-calendar-hint,.home-label{
  color:var(--m-sub)
}
.button-primary,.button-secondary{border-radius:9px;transition:background-color .12s,border-color .12s;color:var(--m-text)}
.button-primary{background:#b48240;color:#0c1921;border:1px solid #dba65d;font-weight:800}
.button-primary:not(:disabled):active{background:#e5b166}
.button-secondary{background:#233440;border:1px solid #60717c;color:#f0f3f2}
.button-secondary:not(:disabled):active{background:#354956}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{
 outline:2px solid var(--m-accent-hi);outline-offset:2px
}
.card input:not([type=file]),.card textarea,.meta-row input,
.daily-weight-controls input,.compact-set-row input,.cardio-grid input,
.new-exercise-form input,.transfer-content textarea,
#catalog-backup-output,#catalog-restore-input{
 background:var(--m-well)!important;color:var(--m-text)!important;
 border:1px solid #6b8290;border-radius:8px
}
.card input:focus,.card textarea:focus,.card button:focus-visible{outline:2px solid var(--m-accent-hi)}
input::placeholder,textarea::placeholder{color:#95a7b0!important;opacity:1}
input:disabled{opacity:.75!important}
select{background:#1d2e39!important;color:#f2f4f2!important;border-color:#728692!important}
.previous-strip,.session-progress{
 background:#253642;color:#f4eee5;border:1px solid #465a63;border-radius:9px
}
.previous-strip>span,.session-progress{color:#dfebef}
.demo-menu-card{margin:10px 0}
.demo-menu-head{padding:3px 1px 4px}
.release-check{color:#e4b46f;background:#242f33;border:1px solid #7a653e;border-radius:7px}
.quick-plan-button{border:1px solid #af844b;color:#f4dbb4;background:#383123;min-height:47px;
 display:flex;justify-content:space-between;align-items:center;text-align:left;padding:9px 12px}
.quick-plan-button span{font-size:1.35rem;line-height:1}
.plan-access-hint{margin:-4px 2px 9px;font-size:.69rem;color:var(--m-sub)}
.demo-exercise-item{background:#1e2d37;border-color:#445764}
.demo-exercise-item.selected,.demo-exercise-item.expanded{
 background:#303e42;border-color:#b88b4c;box-shadow:inset 0 0 0 1px #ae824458
}
.demo-exercise-item.dragging{background:#3f3a2d;border-color:#e5b065}
.demo-exercise-item.drop-target,.demo-exercise-item.drag-armed{border-color:var(--m-accent-hi);box-shadow:0 0 0 2px #d8a14f77}
.demo-exercise-item .demo-select{color:var(--m-text)}
.demo-order-number{background:#33444e;color:#f2c47d}
.demo-exercise-item.selected .demo-order-number{background:#b78949;color:#101923}
.demo-title,.demo-saved-value{color:#f0f4f4}
.demo-plan-target{background:#382f20;color:#f0cd98}
.demo-saved-no{color:#d6a15b}
.demo-saved-set{border-top-color:#384853}
.demo-draft-block{background:#3b301d;color:#ffdc98;border-left-color:#e4b35b}
.demo-remove,.compact-set-row .remove-set{background:#3b252a;color:#ffada7;border:1px solid #92505a}
.demo-saved-summary,.demo-editor-slot{color:var(--m-text)}
.demo-catalog{background:transparent;box-shadow:none;border:0}
.catalog-toggle,.transfer-panel>summary{background:#263742;color:#edc17e;border:1px solid #6b6250}
.transfer-panel{overflow:hidden}
.transfer-panel>summary{border:0;padding:14px}
.catalog-content,.transfer-content{color:var(--m-text)}
.catalog-select-grid label,.new-exercise-form label,.transfer-content label{color:var(--m-text)}
.new-exercise-form{background:#1e303b;border-color:#435865}
.daily-save-card{background:#28332f;border-color:#91774e}
.daily-save-card .draft-daily-status{color:#f1ce91}
.daily-save-card #save-workout{background:#c39552}
.daily-save-card #discard-drafts{color:#d0c4b1;border-color:#746858}
.daily-weight-card,.daily-jpeg-card{background:#1c2b35}
#daily-bodyweight-status{color:#d4c7b4}
.set-headings{color:#d0d7da}
.compact-set-row{border-bottom-color:#374b59}
.set-num{color:var(--m-accent-hi)}
.compact-set-row .weight-cell input:disabled{background:#202d35!important;color:#d2d9dc!important}
.bodyweight-toggle{background:#363221;border-color:#a97e44;color:#f4c982}
.bodyweight-toggle[aria-pressed=true]{background:#bf8c45;border-color:#efbb66;color:#17212a}
.set-bottom .quick-repeat{background:#323a33;color:#ead2ac;border-color:#9f8b63}
.notes-details textarea{background:#253541!important;color:#e0e8e9!important}
.history-item,.home-summary>div,.calendar-day{background:#253640;border-color:#4d606b;color:#eff3f3}
.history-title,.home-summary strong,.home-summary span{color:#e9eff0}
.calendar-day.has-record,.home-calendar .calendar-day.has-record{
 background:#39472e;border-color:#bb9954;color:#ffe3b0
}
.home-calendar .calendar-day.has-weight:not(.has-record){background:#4b3d2c;border-color:#94744f;color:#ffe4bd}
.calendar-day.selected{outline:2px solid var(--m-accent-hi)}
.calendar-day.today{color:#f3b57c}
.home-next-card .home-action{color:#ecd7b9}
.plan-overlay:not([hidden]){background:#030c12c9}
.plan-sheet{background:#17252f;color:#f0f4f5;border-top:2px solid #ab844b}
.plan-sheet-head h2{font-size:1.14rem}
.plan-sheet-card{border-bottom-color:#3a4b57}
.plan-sheet-notes{color:#ffe2b3;background:#403421;border-left:3px solid #d5a154}
.plan-notes-summary{border:1px solid #8c754e;padding:9px 11px;border-radius:10px;background:#2b302d;margin:12px 0}
.plan-notes-summary h3{font-size:.9rem;margin:2px 0 7px;color:#edc585}
.plan-notes-summary p{margin:5px 0;font-size:.8rem;line-height:1.5}
.plan-sheet-empty-note{color:#d6cac0}
.plan-sheet-empty{color:#d5dfe3}
#jpeg-preview{border:1px solid #576c77;background:white;border-radius:8px}
.jpeg-share{background:#283a42;border-color:#8b744f;color:#ffddb2}
.feedback{background:#303f43;border:1px solid #8eab9f;color:#eff7ef;
 box-shadow:0 8px 26px #020b12d9;cursor:pointer;padding:13px 38px 13px 12px;overflow-wrap:anywhere}
.feedback.error{background:#49292f;border-color:#d28c90;color:#ffe0e0}
.feedback:after{content:"×";position:absolute;right:13px;top:50%;transform:translateY(-50%);
 font-size:1.4rem;line-height:1;color:inherit;opacity:.8}
.feedback:focus-visible{outline:2px solid #f1bd79}
.bottom-tabs{background:#121f28;border:1px solid #465967;border-bottom:0;box-shadow:0 -3px 18px #020b12bb}
.bottom-tabs .tab{color:#b6c5cc}
.bottom-tabs .tab.active{background:#2a302c;border-top-color:#dfaa5a;color:#f6cd8a}
.tab-icon{font-weight:800}
footer{color:#a5b2bd}
@media(max-width:360px){
 .top{padding:10px 11px 12px}.headline h1{font-size:1.17rem}
 .meta-row>input[type=date]{color:var(--m-text)}
 .quick-plan-button{font-size:.82rem}
 .set-headings{font-size:.62rem}
}
/* Saved-state contrast: never rely on the old teal text in a dark card. */
.demo-saved-title,.demo-saved-summary.has-saved-sets .demo-saved-title{color:#c8dbd8}
.demo-saved-summary{border-top-color:#465766}

/* C4.13: persistent, evidence-based save status; no change to records or draft storage. */
.daily-save-card{transition:border-color .1s,background-color .1s}
.daily-save-card .draft-daily-status{margin-bottom:9px;font-size:.84rem;font-weight:850;line-height:1.55}
.daily-save-card .daily-save-detail{margin:10px 0 3px;line-height:1.5;color:#c4d0ce;font-size:.73rem}
.daily-save-card[data-save-state="empty"],.daily-save-card[data-save-state="loading"]{background:#24323b;border-color:#4d6069}
.daily-save-card[data-save-state="empty"] .draft-daily-status,.daily-save-card[data-save-state="loading"] .draft-daily-status{color:#ced9df}
.daily-save-card[data-save-state="empty"] #save-workout,.daily-save-card[data-save-state="loading"] #save-workout{background:#344550;border-color:#546771;color:#d7e1e5;opacity:1}
.daily-save-card[data-save-state="pending"]{background:#312e25;border-color:#b18a4f}
.daily-save-card[data-save-state="pending"] .draft-daily-status{color:#ffcf84}
.daily-save-card[data-save-state="pending"] #save-workout{background:#c79a57;color:#17232b;border-color:#e8b674;opacity:1}
.daily-save-card[data-save-state="saved"]{background:#20352f;border-color:#5d987a}
.daily-save-card[data-save-state="saved"] .draft-daily-status{color:#b2ebce}
.daily-save-card[data-save-state="saved"] #save-workout{background:#365f50;border-color:#548a73;color:#d9f3e6;opacity:1}
.daily-save-card[data-save-state="saving"]{background:#30362d;border-color:#9b956a}
.daily-save-card[data-save-state="saving"] #save-workout{background:#72694a;border-color:#978961;color:#f8efd4;opacity:1}
.daily-save-card[data-save-state="error"]{background:#39272d;border-color:#ad6576}
.daily-save-card[data-save-state="error"] .draft-daily-status{color:#ffd2d5}
.daily-save-card[data-save-state="error"] #save-workout{background:#64313c;border-color:#995060;color:#fbd6dd;opacity:1}

/* C4.13.2: explicit, separate deletion of committed fictional records. */
.saved-record-delete,.history-record-delete{display:block;width:100%;margin-top:12px;padding:9px 12px;
  background:#342930!important;border:1px solid #945d62!important;color:#f6c2be!important;
  border-radius:9px;font-size:.81rem;font-weight:700;text-align:center;min-height:42px}
.saved-record-delete:focus-visible,.history-record-delete:focus-visible{outline:2px solid #e4b569;outline-offset:2px}
