
: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}

/* Field-specific copies: 375px-first, no overlay on the copied value. */
.strength-mode-control{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px;margin:9px 0}
.strength-mode-control select{font:inherit;font-size:.85rem;min-height:44px;max-width:100%;padding:5px 9px;border-radius:8px}
#strength-mode-status:empty{display:none}
#set-rows{min-width:0}
.compact-set-row{display:grid;position:relative;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:6px;padding:31px 0 8px;align-items:start}
.compact-set-row .set-num{position:absolute;top:4px;left:0;text-align:left;font-size:.75rem}
.compact-set-row .remove-set{position:absolute;top:0;right:0;width:44px;min-height:44px;padding:0;z-index:1}
.set-field{min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px;align-items:center}
.field-label{grid-column:1/-1;font-size:.65rem;color:var(--m-sub);line-height:1.2;min-height:16px}
.copy-field{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:1px solid #50616a;border-radius:8px;background:transparent;color:#d7c29d;font-size:1.35rem;line-height:1;touch-action:manipulation}
.copy-field:disabled{opacity:.3}.copy-field[hidden]{visibility:hidden;display:inline-flex!important}
.compact-set-row input{height:44px;min-height:44px!important;padding:4px!important}
.compact-set-row .weight-cell{width:100%;min-width:0}
.compact-set-row .weight-cell input{padding-right:47px!important}
.compact-set-row .bodyweight-toggle{right:0;width:44px;max-width:44px;min-height:44px;height:44px;padding:0;font-size:.65rem;border-radius:0 8px 8px 0}
#set-rows[data-input-mode=both] .field-weight{grid-column:1/-1}
@media(max-width:360px){.compact-set-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:4px}.set-field{gap:2px}}

/* UI-S0: preservation only, existing handlers and data formats retained. */
#panel-safety{min-width:0;overflow-wrap:anywhere}
#panel-safety .preservation-action p{line-height:1.65}
#panel-safety .preservation-action button{width:100%;min-height:44px}
#panel-safety input,#panel-safety textarea{max-width:100%;min-width:0;box-sizing:border-box}
#panel-safety button,#panel-safety summary{min-height:44px;white-space:normal;overflow-wrap:anywhere}
#panel-safety summary{display:flex;align-items:center;cursor:pointer}
#panel-safety h2{line-height:1.5}
#preservation-details>.transfer-content{min-width:0}
#preservation-details #storage-diagnostics{margin:0}

/* G14 candidate: minimal exercise-header-only note UI. Existing vertical set UI is untouched. */
.demo-exercise-item{grid-template-columns:minmax(0,1fr) 52px 30px}
.demo-exercise-item .demo-select{min-width:0}
.exercise-memo-preview{min-width:0;min-height:44px;padding:3px 2px;border:1px solid #7d6a48;border-radius:8px;
 background:#333123;color:#f3d198;font:inherit;font-weight:750;font-size:.68rem;line-height:1.2;overflow-wrap:anywhere}
.exercise-memo-preview:focus-visible{outline:2px solid #f4c878;outline-offset:2px}
.exercise-memo-dialog{width:min(94vw,430px);max-width:430px;box-sizing:border-box;border:1px solid #677981;
 border-radius:12px;background:#1c2b35;color:#e2e9ec;padding:16px;box-shadow:0 20px 60px #0009}
.exercise-memo-dialog::backdrop{background:#000a}
.exercise-memo-dialog h2{margin:0 0 12px;font-size:1rem}
.exercise-memo-dialog label{display:block;margin-bottom:5px}
.exercise-memo-dialog textarea{width:100%;max-width:100%;box-sizing:border-box;min-height:95px;
 font:inherit;font-size:16px;background:#253541;color:#e2e9ec;border:1px solid #788b92;border-radius:8px;padding:9px}
.exercise-memo-warning{font-size:.76rem;color:#f2c98b;line-height:1.45;margin:8px 0}
.exercise-memo-actions{display:flex;gap:8px;justify-content:flex-end}
.exercise-memo-actions button{min-height:44px;flex:1}
@media(max-width:360px){.demo-exercise-item{grid-template-columns:minmax(0,1fr) 47px 25px;gap:2px}}

/* MAGI isolated UI simplification: management is available but not prominent. */
.pwa-status-details{margin:7px 10px 8px;padding:0 11px;box-shadow:none;background:#15242e}
.pwa-status-details>summary{list-style:none;cursor:pointer;padding:9px 1px;min-height:42px;
  display:flex;align-items:center;justify-content:space-between;color:var(--m-sub);font-size:.77rem;font-weight:700}
.pwa-status-details>summary::-webkit-details-marker{display:none}
.pwa-status-details>summary:after{content:'＋';font-size:1rem;color:var(--m-accent-hi)}
.pwa-status-details[open]>summary:after{content:'－'}
.pwa-status-body{border-top:1px solid var(--m-line);padding:6px 1px 12px}
.pwa-status-body .hint{margin:8px 0;overflow-wrap:anywhere}
.home-storage-details{box-shadow:none}
.home-storage-details>summary{min-height:40px;display:flex;align-items:center;color:var(--m-sub);font-size:.81rem;font-weight:700}
.home-storage-details .hint{margin-top:9px}

/* Day notes: optional, automatic safe read, one primary save action. */
.day-note-panel{margin:9px 0 11px;padding:0;overflow:hidden}
.day-note-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;
  min-height:49px;padding:11px 12px;font-size:.96rem;font-weight:800;color:var(--m-text)}
.day-note-panel>summary::-webkit-details-marker{display:none}
.day-note-panel>summary:before{content:'▸';color:var(--m-accent-hi);font-size:.85rem}
.day-note-panel[open]>summary:before{content:'▾'}
.day-note-optional{font-size:.72rem;font-weight:500;color:var(--m-sub)}
.day-note-mini{margin-left:auto;border:1px solid #536470;border-radius:99px;padding:3px 8px;
  background:#20323b;color:#d3e2e0;font-size:.70rem;font-weight:750;white-space:nowrap}
.day-note-mini[data-state="dirty"]{color:#ffe3a5;border-color:#ac8751}
.day-note-mini[data-state="error"]{color:#ffd0d0;border-color:#a96468}
.day-note-body{padding:0 12px 13px;border-top:1px solid var(--m-line)}
.day-note-body>label{display:block;margin:8px 0 5px;font-size:.78rem}
.day-note-body>textarea{display:block;width:100%;min-height:91px;resize:vertical;
  background:var(--m-well);color:var(--m-text);font-size:1rem;border:1px solid #708391;border-radius:9px}
.day-note-status{margin:9px 0;font-size:.77rem;line-height:1.45}
.day-note-status[data-state="error"]{color:#ffb4b4}
.day-note-actions{display:flex;align-items:center;gap:8px;margin-top:11px}
.day-note-actions #native-day-save{flex:1;min-height:44px}
.day-note-actions #native-day-load{min-height:44px}
.day-note-history{margin:12px 0 0;padding-top:7px;border-top:1px solid var(--m-line)}
.day-note-history>summary{font-size:.78rem;cursor:pointer;padding:5px 0;color:var(--m-sub)}
.day-note-history ol{margin:8px 0 0;padding-left:24px;max-height:240px;overflow:auto}
.day-note-history li{margin-bottom:9px;font-size:.76rem;color:var(--m-text);overflow-wrap:anywhere}
.day-note-history li p{margin:3px 0;white-space:pre-wrap}
.day-note-history-time{color:var(--m-sub);font-size:.71rem}


/* UI-V2: priority on recording, progressive help and touch accessibility. */
.role-chip{font-size:.68rem;white-space:nowrap;color:#f3d095;border:1px solid #8d7048;
 border-radius:999px;padding:4px 7px;background:#2d302d;font-weight:750}
.headline{flex-wrap:wrap;gap:6px}
.native-enroll-card .enroll-option{display:grid;gap:9px;margin:13px 0;padding:13px;
 background:#20313d;border:1px solid #546876;border-radius:12px}
.native-enroll-card .enroll-option>strong{color:#f4d6ab;font-size:.96rem}
.native-enroll-card .enroll-option>label{font-size:.84rem}
.native-enroll-card .enroll-option button{min-height:48px;width:100%}
.native-enroll-card input[type=file]{max-width:100%;width:100%;box-sizing:border-box;
 padding:9px;border-radius:8px;border:1px solid #697b86;background:#1c2a35;color:#ebedef}
.demo-menu-card{margin-top:11px}
/* Protect the exercise name without sacrificing touch targets for memo and remove. */
.demo-exercise-item{grid-template-columns:minmax(0,1fr) 60px 44px;column-gap:6px}
.demo-exercise-item .demo-remove{width:44px;min-width:44px;min-height:44px;border-radius:9px;font-size:1.2rem}
.exercise-memo-preview{min-height:44px;min-width:0;font-size:.72rem;padding:4px}
@media(max-width:360px){.demo-exercise-item{grid-template-columns:minmax(0,1fr) 56px 44px;column-gap:4px}}
/* Keep synthetic fixture injection out of the ordinary set entry controls. */
.test-tools-details{position:relative;font-size:.76rem;color:var(--m-sub)}
.test-tools-details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;
 padding:6px 9px;border:1px solid #50616b;border-radius:8px;list-style:none}
.test-tools-details>summary::-webkit-details-marker{display:none}
.test-tools-details>button{margin-top:7px;min-height:44px}
/* JPEG is secondary to saving sets, so keep its content collapsed by default. */
.daily-jpeg-details{padding:0;overflow:hidden;margin:10px 0}
.daily-jpeg-details>summary{display:flex;align-items:center;min-height:48px;padding:10px 12px;
 cursor:pointer;color:var(--m-text);font-size:.86rem;font-weight:750;list-style:none}
.daily-jpeg-details>summary::-webkit-details-marker{display:none}
.daily-jpeg-details>summary:before{content:'▸';color:var(--m-accent-hi);margin-right:9px}
.daily-jpeg-details[open]>summary:before{content:'▾'}
.daily-jpeg-details>.daily-jpeg-card{margin:0;padding:11px;border-radius:0;border:0;border-top:1px solid #465765}
/* Backup discovery must be accessible but not require constant reading. */
.download-help{margin-top:12px;padding-top:8px;border-top:1px solid var(--m-line)}
.download-help>summary{min-height:44px;display:flex;align-items:center;color:#f4d09d;
 font-size:.84rem;font-weight:750;cursor:pointer}
.download-help p{font-size:.8rem;line-height:1.6;margin:2px 0 8px;color:var(--m-sub)}
@media(max-width:390px){.role-chip{font-size:.62rem}.headline h1{font-size:1.18rem}}


/* UI-V3: routine recording takes precedence; safe existing functions remain unchanged. */
.home-quick-actions{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px;margin:8px 0 6px}
.home-quick-actions #home-go-entry{margin:0!important;min-width:0;font-size:.9rem}
.home-quick-actions .home-weight-action{min-width:0;min-height:44px;font-size:.82rem;font-weight:800}
@media(max-width:340px){.home-quick-actions{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:5px}.home-quick-actions #home-go-entry{font-size:.80rem}.home-weight-action{font-size:.75rem!important}}
.entry-plan-details{margin:4px 0 10px;border:1px solid #3f5260;border-radius:9px;background:#1c2b35;color:var(--m-text)}
.entry-plan-details>summary{list-style:none;display:flex;align-items:center;min-height:44px;padding:8px 12px;cursor:pointer;font-size:.82rem;font-weight:750;color:#eac489}
.entry-plan-details>summary::-webkit-details-marker{display:none}
.entry-plan-details>summary:before{content:'▸';margin-right:9px}
.entry-plan-details[open]>summary:before{content:'▾'}
.entry-plan-inner{border-top:1px solid #3f5260;padding:9px}
.entry-plan-inner .quick-plan-button{width:100%}
.entry-plan-inner .plan-access-hint{margin:8px 2px 2px}
.input-hint-details{margin:6px 0 0;font-size:.76rem}
.input-hint-details>summary{min-height:36px;cursor:pointer;display:flex;align-items:center;padding:5px 2px;color:var(--m-sub)}
.input-hint-details>p{margin:4px 0 8px;line-height:1.6;font-size:.74rem}
/* Never expose destructive controls in the two-button row. */
.demo-exercise-item,.demo-exercise-item.expanded{grid-template-columns:minmax(0,1fr) 60px;column-gap:7px}
@media(max-width:360px){.demo-exercise-item,.demo-exercise-item.expanded{grid-template-columns:minmax(0,1fr) 56px;column-gap:4px}}
.demo-exercise-item .exercise-manage{grid-column:1/-1;padding:2px 2px 0;margin-top:3px;border-top:1px solid #435461}
.demo-exercise-item:not(.expanded) .exercise-manage{display:none}
.exercise-manage>summary{list-style:none;cursor:pointer;display:flex;align-items:center;min-height:40px;font-size:.75rem;color:#d8c2a1}
.exercise-manage>summary::-webkit-details-marker{display:none}
.exercise-manage>summary:before{content:'▸';margin-right:7px}
.exercise-manage[open]>summary:before{content:'▾'}
.exercise-manage>p{font-size:.73rem;line-height:1.5;color:#f3d4c8;margin:2px 0 7px}
.demo-exercise-item .exercise-manage .demo-remove{width:100%;min-width:0;min-height:44px;font-size:.8rem;font-weight:750;padding:7px 10px;line-height:1.4;margin-bottom:6px}
.session-box button{min-height:44px;white-space:normal;font-size:.78rem;line-height:1.25}
@media(max-width:370px){.meta-top{flex-wrap:wrap}.session-box{width:100%;justify-content:flex-end}.session-box button{white-space:nowrap}}

/* Compact direct jumps make secondary record types discoverable without moving them above workout entry. */
.entry-quick-jumps{display:flex;gap:8px;justify-content:flex-end;margin:7px 0 9px;flex-wrap:wrap}
.entry-quick-jumps .button-secondary{min-height:40px;padding:7px 12px;font-size:.78rem;border-radius:999px}
.preservation-restore-details{padding:0!important}
.preservation-restore-details>summary{display:flex;align-items:center;min-height:50px;padding:12px 14px;cursor:pointer;list-style:none;font-size:.93rem;font-weight:800;color:var(--m-text)}
.preservation-restore-details>summary::-webkit-details-marker{display:none}
.preservation-restore-details>summary:before{content:'▸';color:var(--m-accent-hi);margin-right:9px}
.preservation-restore-details[open]>summary:before{content:'▾'}
.preservation-restore-body{padding:0 14px 14px;border-top:1px solid var(--m-line)}

/* MAGI UI-V4: interaction clarity; no data/storage protocol changes. */
.feedback{display:flex;align-items:center;gap:10px;padding:9px 9px 9px 12px;cursor:default}
.feedback:after{content:none!important}
#feedback-text{min-width:0;flex:1;line-height:1.5;white-space:pre-wrap}
.feedback-close{flex:0 0 44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;
 border:1px solid currentColor;border-radius:9px;background:transparent;color:inherit;
 font:inherit;font-size:1.3rem;cursor:pointer}
.feedback-close:focus-visible{outline:2px solid var(--m-accent-hi);outline-offset:2px}
.draft-discard-details{margin-top:8px;border-top:1px solid var(--m-line);padding-top:4px}
.draft-discard-details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;
 font-size:.78rem;color:var(--m-sub);padding:6px 3px;list-style:revert}
.draft-discard-details #discard-drafts{width:100%;min-height:44px}
.draft-discard-details .hint{font-size:.73rem;margin:6px 0}
.history-delete-details{border-top:1px solid var(--m-line);margin-top:9px;padding-top:6px}
.history-delete-details>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;
 color:var(--m-sub);font-size:.79rem;padding:6px 3px}
.history-delete-details .hint{margin:6px 0;font-size:.75rem}
.history-delete-details .history-record-delete{min-height:44px;margin-top:7px}
.backup-privacy-note{border-left:3px solid #ad894f;padding-left:10px;line-height:1.5}

/* UI-V5: daily-use priority; existing data, writer, and restoration paths unchanged. */
.home-quick-actions{margin:4px 0 14px;gap:8px}
.home-quick-actions .home-record-action{min-height:52px!important;font-size:1rem!important}
.home-quick-actions .home-weight-action{min-height:52px!important}
.home-history-inline{display:block;margin:10px 0 2px;width:100%;min-height:44px;font-size:.83rem}
/* Less prominent calendar/statistics than today's primary actions. */
.home-month-nav{margin:7px 0 6px}
.home-summary{margin-top:8px}
/* Changing sessions is uncommon: preserve it behind the label rather than a primary button. */
.session-management{position:relative;min-width:0}
.session-management>summary{list-style:none;display:flex;align-items:center;justify-content:center;
  min-height:44px;padding:7px 9px;border:1px solid #657782;border-radius:9px;
  background:#233440;color:var(--m-text);font-size:.78rem;font-weight:750;cursor:pointer}
.session-management>summary::-webkit-details-marker{display:none}
.session-management>summary:after{content:' ▾';padding-left:5px;color:var(--m-accent-hi)}
.session-management[open]>summary:after{content:' ▴'}
.session-management-body{position:absolute;z-index:7;right:0;top:calc(100% + 5px);width:min(290px,calc(100vw - 38px));
  background:#1e2d39;border:1px solid #78848a;box-shadow:0 8px 18px #0008;border-radius:11px;padding:12px}
.session-management-body .hint{margin:2px 0 9px;font-size:.79rem;line-height:1.5;white-space:normal}
.session-management-body button{width:100%;min-height:44px}
/* Keep update diagnostics subordinate to manual preservation, not to training. */
#panel-safety .pwa-status-details{margin:10px 0;padding:0 12px;background:#1b2a35}
#panel-safety .home-storage-details{margin:10px 0;padding:4px 12px}
#panel-safety #analysis-home{margin:10px 0}
#panel-safety .analysis-review-details>summary{min-height:50px;padding:10px 12px}
#panel-safety .analysis-review-controls{padding-top:8px}
/* Avoid opaque backup copy on a small phone, while retaining the security warning. */
#panel-safety .preservation-action p{line-height:1.5}
@media(max-width:360px){.home-quick-actions .home-record-action{font-size:.84rem!important}
  .home-quick-actions .home-weight-action{font-size:.77rem!important}}


/* UI-V6: compact recording screen, mobile-first. No changes to storage or writer logic. */
@media (max-width: 620px){
  body:has(#panel-entry:not([hidden])) .top.compact-top{padding:5px 11px 5px;min-height:0}
  body:has(#panel-entry:not([hidden])) .top .eyebrow{display:none}
  body:has(#panel-entry:not([hidden])) .top .headline h1{font-size:1.12rem;margin:2px 0}
  body:has(#panel-entry:not([hidden])) .top .role-chip{font-size:.58rem;padding:2px 5px}
  body:has(#panel-entry:not([hidden])) #storage-state{margin:3px 8px 0;padding:4px 7px;font-size:.65rem;line-height:1.25}
  body:has(#panel-entry:not([hidden])) main{padding:3px 7px 0}
  #panel-entry{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
  #panel-entry .entry-card{margin:0;padding:7px 7px 4px;border-radius:10px}
  /* Put date and session on a single line; the date remains an accessible input. */
  #panel-entry .meta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:center}
  #panel-entry .meta-top{display:contents}
  #panel-entry .meta-row .date-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  #panel-entry .meta-row>input[type=date]{grid-row:1;grid-column:1;min-height:39px!important;height:39px!important;font-size:.89rem!important;padding:3px 7px}
  #panel-entry .session-box{grid-row:1;grid-column:2;gap:4px;width:auto;justify-content:flex-end}
  #panel-entry .session-box .tiny-label{font-size:.70rem}
  #panel-entry .session-management>summary{min-height:39px;padding:4px 7px;font-size:.72rem}
  #panel-entry .entry-quick-jumps{margin:3px 0 6px;gap:5px;justify-content:flex-end;flex-wrap:nowrap}
  #panel-entry .entry-quick-jumps .button-secondary{min-height:36px;padding:4px 11px;font-size:.73rem}
  #panel-entry .demo-menu-card{display:flex;flex-direction:column;min-width:0}
  #panel-entry .demo-menu-head{order:0;margin:0 0 3px;padding:0 1px}
  #panel-entry .demo-menu-head h2{font-size:.91rem}
  #panel-entry .demo-menu-sub{font-size:.60rem;line-height:1.2}
  #panel-entry .demo-exercise-list{order:1;gap:3px}
  #panel-entry .entry-plan-details{order:2;margin:4px 0 1px;border-radius:7px}
  #panel-entry .entry-plan-details>summary{min-height:31px;padding:4px 8px;font-size:.71rem}
  #panel-entry .demo-exercise-item{grid-template-columns:minmax(0,1fr) 56px;gap:5px;padding:2px 4px;border-radius:8px;min-height:44px}
  #panel-entry .demo-exercise-item .demo-select,
  #panel-entry .demo-exercise-item:not(.expanded) .demo-select{min-height:40px;padding:2px 4px;gap:5px}
  #panel-entry .demo-exercise-item .demo-order-number{width:25px;height:25px;flex:0 0 25px;font-size:.65rem}
  #panel-entry .demo-exercise-item .demo-title{font-size:.84rem;line-height:1.16}
  #panel-entry .demo-exercise-item .demo-meta{font-size:.66rem;line-height:1.15}
  #panel-entry .demo-exercise-item .exercise-memo-preview{min-height:40px;min-width:0;width:100%;padding:2px 3px;font-size:.70rem}
  #panel-entry .demo-saved-summary{font-size:.68rem;line-height:1.2;margin:0 1px;overflow:hidden}
  #panel-entry .demo-exercise-item:not(.expanded) .demo-saved-summary{max-height:16px;white-space:nowrap;text-overflow:ellipsis}
  #panel-entry .demo-catalog{margin:3px 0 1px}
  #panel-entry .catalog-toggle{min-height:38px;padding:6px 10px;font-size:.80rem}
  #panel-entry .daily-save-card{position:fixed;z-index:9;left:50%;bottom:calc(55px + env(safe-area-inset-bottom));transform:translateX(-50%);
    width:min(calc(100% - 12px),690px);margin:0;padding:5px 8px 7px;border-radius:11px 11px 0 0;
    box-shadow:0 -4px 16px #0009}
  #panel-entry .daily-save-card .draft-daily-status{margin:0 0 3px;font-size:.69rem;line-height:1.2;max-height:2.4em;overflow:hidden}
  #panel-entry .daily-save-card #save-workout{min-height:42px;font-size:.93rem}
  #panel-entry .daily-save-card .daily-save-detail{display:none}
  #panel-entry .daily-save-card[data-save-state="error"] .daily-save-detail{display:block;margin:3px 0;font-size:.70rem}
  #panel-entry .draft-discard-details{margin:4px 0 5px;padding-top:0}
  #panel-entry .draft-discard-details>summary{font-size:.71rem;min-height:36px}
  #panel-entry .demo-inline-editor{margin:2px 0;padding:4px 3px 2px}
  #panel-entry .demo-inline-editor .previous-strip{margin-top:2px;padding:4px;min-height:30px}
  #panel-entry .demo-inline-editor .previous-strip>span{font-size:.70rem}
  #panel-entry .demo-inline-editor .set-topline{margin:3px 0}
  #panel-entry .compact-set-row{padding:2px 0}
  #panel-entry .compact-set-row input{height:39px;min-height:39px!important}
  #panel-entry .strength-mode-control{font-size:.70rem}
  #panel-entry .strength-mode-control select{min-height:32px}
  #panel-entry .set-bottom{margin:3px 0}
  #panel-entry #add-set{min-height:39px}
  #panel-entry .daily-weight-card,
  #panel-entry .day-note-panel,
  #panel-entry .daily-jpeg-details{margin-top:5px;margin-bottom:6px}
  /* When typing into the bottom of an editor, keep room for the fixed save action. */
  #panel-entry #inline-editor,#panel-entry #set-rows{scroll-margin-bottom:calc(118px + env(safe-area-inset-bottom))}
  #panel-entry :is(input,textarea,select){scroll-margin-bottom:calc(118px + env(safe-area-inset-bottom))}
}
@media (max-width:370px){
  #panel-entry .meta-top{display:contents}
  #panel-entry .session-box{width:auto}
  #panel-entry .session-box .tiny-label{display:none}
}

/* UI-V6 final: tuck secondary record jumps into one discoverable collapsed row. */
@media(max-width:620px){
 #panel-entry details.entry-quick-jumps{display:block;margin:3px 0 6px;border:1px solid #3d5260;border-radius:8px;background:#1d2c36}
 #panel-entry details.entry-quick-jumps>summary{display:flex;align-items:center;list-style:none;min-height:33px;padding:5px 10px;
  font-size:.75rem;color:#d7c4a4;font-weight:700;cursor:pointer}
 #panel-entry details.entry-quick-jumps>summary::-webkit-details-marker{display:none}
 #panel-entry details.entry-quick-jumps>summary:before{content:'▸';color:#dfaa5a;margin-right:7px}
 #panel-entry details.entry-quick-jumps[open]>summary:before{content:'▾'}
 #panel-entry .entry-jump-targets{display:flex;gap:6px;padding:5px 6px 7px}
 #panel-entry .entry-jump-targets .button-secondary{flex:1;min-width:0;min-height:40px;font-size:.78rem}
}


/* UI-V6.1: remove-set must not cover the weight/repetitions inputs.
   Keep the original touch target and independent repeat controls. */
@media (max-width:620px){
  html:has(#panel-entry:not([hidden])){scroll-padding-bottom:calc(135px + env(safe-area-inset-bottom))}
  #panel-entry .compact-set-row{
    grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) 44px;
    column-gap:4px;row-gap:2px;align-items:end;padding:2px 0 6px;
  }
  #panel-entry .compact-set-row .set-num{
    position:static;grid-row:1;grid-column:1/-1;
    justify-self:start;align-self:center;line-height:1.1;min-height:13px;
  }
  #panel-entry .compact-set-row .field-weight{grid-column:1;grid-row:2}
  #panel-entry .compact-set-row .field-reps{grid-column:2;grid-row:2}
  #panel-entry .compact-set-row .field-duration{grid-column:1/span 2;grid-row:3}
  #panel-entry #set-rows[data-input-mode=time] .field-duration{grid-column:2;grid-row:2}
  #panel-entry .compact-set-row .remove-set{
    position:static;grid-column:3;grid-row:2;
    width:44px;min-height:44px;height:44px;padding:0;z-index:auto;
    justify-self:end;align-self:end;
  }
  #panel-entry #set-rows[data-input-mode=both] .field-weight{grid-column:1/span 2;grid-row:2}
  #panel-entry #set-rows[data-input-mode=both] .field-reps{grid-column:1;grid-row:3}
  #panel-entry #set-rows[data-input-mode=both] .field-duration{grid-column:2;grid-row:3}
}

/* Isolated UI candidate: bodyweight is selected once per exercise.
   The weight field remains independently editable for each set. */
.exercise-load-toolbar{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  margin:7px 0 6px;padding:5px 0;
}
.exercise-load-toolbar .bodyweight-mode-button{
  min-height:44px;padding:8px 12px;flex:0 0 auto;
  font-size:.78rem;font-weight:650;
}
.exercise-load-toolbar #exercise-load-status{flex:1 1 145px;margin:0;line-height:1.5}
.bodyweight-mode-button[aria-pressed=true]{border-color:#b18b56;background:#443821;color:#f0d097}
.bodyweight-mode-button[aria-pressed=mixed]{border-style:dashed;border-color:#b18b56}
.compact-set-row .weight-cell input{padding-right:4px!important}
.compact-set-row .weight-cell input:disabled{font-weight:650;letter-spacing:.01em}
@media(max-width:360px){
  .exercise-load-toolbar{gap:6px}
  .exercise-load-toolbar .bodyweight-mode-button{padding:8px;font-size:.73rem}
}

/* UI-V6.2 isolated layout-only candidate (2026-11-12):
   In the standard input mode, number + weight/repetitions labels share ONE
   heading line; per-set values, independent copy buttons and 44px delete
   targets remain in the next line.  "Both" mode retains an extra labelled
   line so repetitions and seconds are never ambiguous. No record changes. */
@media (max-width:620px){
  #panel-entry .compact-set-row{
    grid-template-rows:16px 44px;
    row-gap:3px;
    align-items:end;
    padding:2px 0 6px;
  }
  #panel-entry .compact-set-row .set-num{
    position:static;
    grid-column:1/-1;
    grid-row:1;
    align-self:center;
    justify-self:start;
    line-height:16px;
    min-height:16px;
  }
  #panel-entry .compact-set-row .set-field{
    position:relative;
    grid-template-rows:44px;
    min-height:44px;
    align-self:end;
  }
  #panel-entry .compact-set-row .field-label{
    position:absolute;
    top:-20px;
    left:0;
    right:0;
    min-height:16px;
    line-height:16px;
    font-size:.67rem;
    text-align:center;
    white-space:nowrap;
    pointer-events:none;
  }
  #panel-entry .compact-set-row input{
    height:44px;
    min-height:44px!important;
  }
  /* The combined mode needs two independent labels above its second value line. */
  #panel-entry #set-rows[data-input-mode=both] .compact-set-row{
    grid-template-rows:16px 44px 16px 44px;
  }
  #panel-entry #set-rows[data-input-mode=both] .field-reps,
  #panel-entry #set-rows[data-input-mode=both] .field-duration{
    grid-row:4;
  }
}
