
:root{
--bg:#061121;
--bg2:#0b1830;
--panel:#0c1729;
--panel2:#101f36;
--panel3:#13253f;
--card:#0d1728;
--card-soft:#101d31;
--border:#22334e;
--ink:#ecf3ff;
--muted:#90a0bb;
--muted2:#6c7c98;
--blue:#67d8ff;
--blue2:#2faee8;
--pale:#12314a;
--green:#76efb3;
--red:#ff7e96;
--warning:#f5c56b;
--shadow:0 12px 40px rgba(0,0,0,.26)
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:radial-gradient(circle at top right,#16264c 0,#0a1224 28%,#061121 64%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;font-size:14px}
button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}
input,select{max-width:100%;border:1px solid var(--border);border-radius:14px;padding:11px 12px;background:#0a1526;color:var(--ink);min-width:0;font-size:16px;outline:none}
input::placeholder{color:#5b6e8c}input[type=number]{font-variant-numeric:tabular-nums}
h1,h2,h3,p{margin:0}.shell{max-width:920px;margin:auto;padding:0 15px 120px}.top{position:sticky;top:0;z-index:15;background:linear-gradient(to bottom,rgba(6,17,33,.95),rgba(6,17,33,.72));backdrop-filter:blur(12px);padding:17px 0 14px;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:850;letter-spacing:-.5px;font-size:21px}.brand span{color:var(--blue)}.dateChip{border:1px solid var(--border);border-radius:30px;padding:8px 12px;background:#0c1628;color:#bcd3ee;font-weight:700}.page{display:none}.page.active{display:block}.kicker{color:var(--blue);font-size:11px;letter-spacing:3px;font-weight:900;margin:8px 2px 8px;text-transform:uppercase}.headline{font-size:38px;letter-spacing:-1.3px;line-height:1.03;margin-bottom:14px}.subheadline{font-size:15px;color:var(--muted);line-height:1.6;margin-top:6px}.card{background:linear-gradient(180deg,rgba(16,29,49,.95),rgba(11,22,39,.96));border:1px solid rgba(104,134,180,.22);border-radius:24px;padding:16px;margin:12px 0;box-shadow:var(--shadow)}.cardHead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.cardTitle{font-size:16px;font-weight:850;color:#f3f7ff}.muted{color:var(--muted)}.tiny{font-size:11px}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.btn{background:linear-gradient(180deg,#2a637f,#1e4e67);border:1px solid rgba(103,216,255,.35);color:white;border-radius:14px;padding:11px 14px;font-weight:750}.btn.alt{background:#11263b;color:#cdeeff;border-color:#285278}.btn.ghost{background:#0a1526;color:#d7e7fb;border-color:var(--border)}.btn.danger{background:#331621;color:#ffc1cf;border-color:#603040}.btn.small{padding:8px 11px;font-size:12px}.btn.full{width:100%;padding:14px}.tabs{display:flex;gap:8px;background:#0b182a;padding:4px;border-radius:16px;overflow-x:auto}.tab{border:1px solid transparent;border-radius:999px;padding:10px 15px;white-space:nowrap;color:#8ea2c0;background:transparent;font-weight:750;flex:1}.tab.on{background:#11283a;color:var(--ink);border-color:#29506f;box-shadow:inset 0 0 0 1px rgba(103,216,255,.1)}.calendarTitle{font-weight:850;font-size:17px}.calgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:14px}.weekday{text-align:center;color:#677a98;font-size:12px;font-weight:700;padding:5px 0}.day{position:relative;aspect-ratio:1;min-height:37px;border:1px solid rgba(76,100,139,.18);border-radius:14px;background:#091424;font-weight:750;color:var(--ink)}.day.blank{background:transparent;border-color:transparent}.day.today{border-color:#2a8cc3}.day.selected{background:linear-gradient(180deg,#16405f,#113149);color:white;border-color:#4fcdfa}.dot{width:5px;height:5px;background:var(--green);border-radius:50%;position:absolute;bottom:7px;left:calc(50% - 2.5px)}.selected .dot{background:white}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat,.metricCard{background:linear-gradient(180deg,#0d192d,#0a1525);padding:14px;border-radius:19px;min-width:0;border:1px solid rgba(68,90,123,.34)}.stat label,.metricCard label{display:block;color:#7e91af;font-size:11px;margin-bottom:7px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase}.stat b,.metricCard b{font-size:25px;font-variant-numeric:tabular-nums;display:block;line-height:1.1}.stat em{font-size:11px;font-style:normal;color:var(--muted);margin-left:2px}.exercise{border:1px solid rgba(73,95,133,.3);padding:14px;border-radius:18px;margin:12px 0;background:rgba(6,16,31,.5)}.exercise h3{font-size:15px}.setgrid{display:grid;grid-template-columns:1.1fr 1fr .7fr .95fr 31px;gap:6px;align-items:end;margin-top:9px}.setgrid label{font-size:10px;color:var(--muted);display:block;margin-bottom:4px}.setgrid input{width:100%;padding:10px 6px;font-size:14px;text-align:center;background:#091526}.setgrid .x{padding:8px 0;border:0;background:none;color:#7a8aa1;font-size:19px}.setgrid output{background:#112b3c;text-align:center;font-size:12px;border-radius:10px;padding:10px 1px;font-weight:800;color:#9ae8ff;border:1px solid #214a64}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field label{font-size:11px;color:var(--muted);font-weight:700}.field input,.field select{width:100%}.form2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary{border-top:1px solid rgba(68,89,121,.36);margin-top:13px;padding-top:13px}.foodrow{display:grid;grid-template-columns:minmax(0,1fr) 74px 70px 30px;gap:7px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(80,95,118,.26)}.foodrow .foodname{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.foodrow .foodsub{font-size:11px;color:var(--muted);margin-top:4px}.foodrow input{width:100%;padding:8px 5px;font-size:14px;text-align:center;background:#091526}.foodrow button{background:none;border:0;color:#93a4ba;font-size:19px}.pfc{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.pfc .stat{padding:11px;text-align:center}.pfc b{font-size:18px}.chart{width:100%;height:210px;display:block;overflow:visible}.legend{display:flex;gap:12px;font-size:11px;color:var(--muted);margin-top:5px;flex-wrap:wrap}.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.empty{text-align:center;padding:23px 10px;color:var(--muted)}.nav{position:fixed;bottom:0;left:0;right:0;z-index:20;background:rgba(3,11,23,.92);backdrop-filter:blur(16px);border-top:1px solid rgba(83,108,147,.25);padding:7px max(10px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:flex;justify-content:center;gap:5px}.nav button{max-width:155px;flex:1;border:0;background:none;border-radius:14px;color:#8497b5;font-size:10px;font-weight:700;padding:8px 4px}.nav button span{display:block;font-size:20px;margin-bottom:2px}.nav button.on{color:#f3f8ff;background:#101b2e}.overlay{position:fixed;inset:0;background:#04101dba;z-index:50;display:flex;align-items:end;justify-content:center}.modal{background:#0c1628;width:100%;max-width:560px;border-radius:26px 26px 0 0;padding:19px 17px calc(24px + env(safe-area-inset-bottom));max-height:88vh;overflow:auto;border:1px solid rgba(90,122,168,.23)}.modal h2{font-size:18px;margin-bottom:14px}.modalActions{display:flex;gap:9px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}.lookup{max-height:290px;overflow:auto;margin-top:8px}.lookup button{display:block;border:0;border-bottom:1px solid rgba(82,100,128,.35);background:transparent;text-align:left;padding:12px 5px;width:100%;color:var(--ink)}.lookup small{display:block;color:var(--muted);margin-top:3px}.pill{border-radius:999px;background:#12283c;color:#9fe8ff;padding:6px 10px;font-size:11px;font-weight:800;border:1px solid #224966}.notice{padding:12px;background:#0d2237;color:#acd9ee;font-size:12px;border-radius:14px;line-height:1.7;border:1px solid #1f415e}.space{height:10px}details summary{cursor:pointer;color:var(--blue);font-weight:700}.dbrow{padding:10px 0;border-bottom:1px solid rgba(79,96,124,.34)}.dbrow strong{font-size:13px}.dbrow small{display:block;color:var(--muted);padding-top:3px}.dbrow .actions{display:flex;gap:5px}.switches{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px}.switches button{white-space:nowrap}.pos{color:var(--green)}.neg{color:var(--red)}
.heroCard{padding:18px 18px 16px}.heroStatGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 14px}.heroStat .sub{font-size:12px;color:var(--muted);margin-top:6px}.heroStat b{font-size:22px}.sectionTitle{font-size:28px;letter-spacing:-.8px;margin-bottom:4px}.sectionSub{font-size:14px;color:var(--muted);line-height:1.55;margin-bottom:10px}.accent{color:var(--blue)}.stack{display:flex;flex-direction:column;gap:12px}.divider{height:1px;background:rgba(77,93,122,.32);margin:12px 0}.kcalTotal{font-size:30px;font-weight:850}.valueRow{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(67,84,111,.23)}.valueRow:last-child{border-bottom:0}.exerciseName{font-size:14px;color:#dce9ff;font-weight:800}.sectionPanel{margin-top:16px}.micro{font-size:12px;color:var(--muted)}.tagRow{display:flex;gap:8px;flex-wrap:wrap}.tag{padding:6px 10px;border:1px solid #214a64;background:#0f2436;color:#bfefff;border-radius:999px;font-size:12px;font-weight:700}.right{margin-left:auto}.bigNumber{font-size:34px;font-weight:900;letter-spacing:-1px}.soft{color:#bad5ff} .mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.center{text-align:center}

.trainSummaryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.miniStat{background:linear-gradient(180deg,#163a58,#112d45);border:1px solid rgba(118,173,220,.28);border-radius:18px;padding:12px 10px;text-align:center}
.miniStat label{display:block;font-size:11px;color:#b8d3ea;margin-bottom:6px;font-weight:800;letter-spacing:.6px}
.miniStat b{display:block;font-size:19px;color:#fff;font-variant-numeric:tabular-nums}
.exerciseTable{margin-top:12px;border-top:1px solid rgba(79,103,141,.35)}
.exerciseHead,.exerciseRow{display:grid;grid-template-columns:44px 1.25fr 1fr .95fr .78fr 32px;gap:8px;align-items:center}
.exerciseHead{padding:8px 6px;color:#8ea7c7;font-size:11px;font-weight:800;letter-spacing:.4px}
.exerciseRow{padding:10px 6px;border-top:1px solid rgba(79,103,141,.2)}
.setNo{font-size:28px;font-weight:900;color:#f4f8ff;text-align:center}
.cellStack{display:flex;flex-direction:column;gap:4px}
.cellStack input{padding:10px 8px;font-size:24px;font-weight:900;text-align:center;border-radius:12px;background:#091526}
.cellStack small{font-size:11px;color:var(--muted);text-align:center}
.rmBox,.rirBox{background:#0c2033;border:1px solid #274862;border-radius:12px;padding:12px 6px;text-align:center;min-height:56px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;color:#f4f8ff}
.rirBox input{width:100%;background:transparent;border:0;padding:0;text-align:center;color:#f4f8ff;font-size:20px;font-weight:900}
.tableFoot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}
.foodTableHead{display:grid;grid-template-columns:minmax(0,1.2fr) 88px 76px 24px;gap:8px;align-items:center;padding:0 6px 8px;color:#8ea7c7;font-size:11px;font-weight:800;letter-spacing:.4px}
.foodCard{display:grid;grid-template-columns:minmax(0,1.2fr) 88px 76px 24px;gap:8px;align-items:center;padding:12px 6px;border-top:1px solid rgba(79,103,141,.2)}
.foodNameBig{font-size:18px;font-weight:900;color:#f4f8ff;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.foodMeta{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.45}
.qtyInput{display:flex;flex-direction:column;gap:4px}
.qtyInput input{padding:10px 6px;font-size:22px;font-weight:900;text-align:center}
.qtyInput span{font-size:11px;color:var(--muted);text-align:center}
.kcalBox{background:#0c2033;border:1px solid #274862;border-radius:12px;padding:9px 4px;text-align:center}
.kcalBox b{display:block;font-size:18px;color:#fff;line-height:1.1}
.kcalBox small{font-size:11px;color:var(--muted)}
.iconBtn{background:none;border:0;color:#93a4ba;font-size:22px;padding:0}
@media(max-width:520px){.trainSummaryGrid{gap:8px}.miniStat{padding:10px 6px}.miniStat b{font-size:16px}.exerciseHead,.exerciseRow{grid-template-columns:34px 1.12fr .92fr .82fr .72fr 24px;gap:6px}.setNo{font-size:22px}.cellStack input{font-size:20px;padding:9px 4px}.rmBox,.rirBox{font-size:16px;padding:10px 4px;min-height:50px}.foodTableHead,.foodCard{grid-template-columns:minmax(0,1fr) 74px 64px 20px;gap:6px}.foodNameBig{font-size:16px}.qtyInput input{font-size:18px;padding:8px 4px}.kcalBox b{font-size:15px}}


.sectionTabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;margin:10px 0 14px}
.sectionTabs button{white-space:nowrap;border-radius:999px;padding:10px 14px;border:1px solid var(--border);background:#0a1526;color:#a9bdd8;font-weight:800}
.sectionTabs button.on{background:#15324a;border-color:#3f6a8d;color:#fff}
.summaryStrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 14px}
.summaryBox{background:linear-gradient(180deg,#142b43,#102336);border:1px solid rgba(95,129,170,.35);border-radius:18px;padding:12px 10px;text-align:center}
.summaryBox span{display:block;font-size:11px;color:#9fb6d5;font-weight:800;margin-bottom:7px;letter-spacing:.4px}
.summaryBox b{display:block;font-size:18px;color:#fff;font-variant-numeric:tabular-nums;line-height:1.1}
.refCard{background:#f8fbff10;border:1px solid rgba(95,129,170,.3);border-radius:22px;overflow:hidden;margin:14px 0;box-shadow:var(--shadow)}
.refCardHead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;background:linear-gradient(180deg,#15324a,#11283d);border-bottom:1px solid rgba(95,129,170,.3)}
.refCardHead h3{font-size:16px;font-weight:900;color:#fff}
.refCardBody{padding:0 0 10px;background:rgba(5,13,24,.35)}
.refMetaBar{display:grid;grid-template-columns:44px 1.2fr 1fr .9fr .8fr 34px;gap:8px;padding:10px 14px;color:#92a8c5;font-size:11px;font-weight:800;letter-spacing:.4px;border-bottom:1px solid rgba(90,109,137,.2)}
.setRowLike{display:grid;grid-template-columns:44px 1.2fr 1fr .9fr .8fr 34px;gap:8px;align-items:center;padding:14px;border-bottom:1px solid rgba(90,109,137,.18)}
.setRowLike:last-child{border-bottom:0}
.setIndex{font-size:22px;font-weight:900;text-align:center;color:#f5f8ff}
.bigInputWrap{display:flex;align-items:center;gap:6px;padding-bottom:6px;border-bottom:2px solid rgba(190,210,235,.2)}
.bigInputWrap input{flex:1;min-width:0;border:0;background:transparent;padding:0;font-size:21px;font-weight:900;color:#fff;text-align:center}
.bigInputWrap .unit{font-size:12px;color:#90a0bb;font-weight:700;white-space:nowrap}
.readOnlyMetric{padding-bottom:6px;border-bottom:2px solid rgba(190,210,235,.2);text-align:center;font-size:17px;font-weight:900;color:#dff0ff}
.inlineDelete{background:none;border:0;color:#96a7bd;font-size:22px;padding:0}
.exerciseFoot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px 0}
.noteLine{padding:0 14px 14px 66px;font-size:12px;color:#9eb3ce}
.miniTopBar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}
.miniTopBar .leftGroup,.miniTopBar .rightGroup{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.activityLine{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 2px;border-bottom:1px solid rgba(90,109,137,.18)}
.activityLine:last-child{border-bottom:0}
.groupCard{background:#f8fbff10;border:1px solid rgba(95,129,170,.3);border-radius:22px;overflow:hidden;margin:14px 0;box-shadow:var(--shadow)}
.groupHead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;background:linear-gradient(180deg,#15324a,#11283d);border-bottom:1px solid rgba(95,129,170,.3)}
.groupHead h3{font-size:16px;font-weight:900;color:#fff}
.groupBody{padding:0;background:rgba(5,13,24,.35)}
.mealHead{display:grid;grid-template-columns:minmax(0,1.4fr) 86px 86px 28px;gap:8px;padding:10px 14px;color:#92a8c5;font-size:11px;font-weight:800;letter-spacing:.4px;border-bottom:1px solid rgba(90,109,137,.2)}
.mealRowLike{display:grid;grid-template-columns:minmax(0,1.4fr) 86px 86px 28px;gap:8px;align-items:center;padding:14px;border-bottom:1px solid rgba(90,109,137,.18)}
.mealRowLike:last-child{border-bottom:0}.mealTitle{font-size:17px;font-weight:900;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mealSub{font-size:12px;color:#9eb3ce;margin-top:5px;line-height:1.45}.qtyBox{display:flex;flex-direction:column;gap:4px;align-items:center}.qtyBox input{width:100%;text-align:center;border:0;background:transparent;padding:0;font-size:21px;font-weight:900;color:#fff}.qtyUnderline{width:100%;padding-bottom:6px;border-bottom:2px solid rgba(190,210,235,.2)}.qtyUnit{font-size:11px;color:#90a0bb}.kcalMetric{padding-bottom:6px;border-bottom:2px solid rgba(190,210,235,.2);text-align:center}.kcalMetric b{display:block;font-size:18px;color:#fff;line-height:1.05}.kcalMetric small{font-size:11px;color:#90a0bb}
@media(max-width:520px){.summaryStrip{gap:8px}.summaryBox{padding:10px 6px}.summaryBox b{font-size:15px}.refMetaBar,.setRowLike{grid-template-columns:34px 1.1fr .95fr .86fr .72fr 26px;gap:6px;padding-left:10px;padding-right:10px}.setIndex{font-size:20px}.bigInputWrap input{font-size:18px}.readOnlyMetric{font-size:15px}.noteLine{padding-left:50px}.mealHead,.mealRowLike{grid-template-columns:minmax(0,1.2fr) 74px 74px 22px;gap:6px;padding-left:10px;padding-right:10px}.mealTitle{font-size:15px}.qtyBox input{font-size:18px}.kcalMetric b{font-size:15px}}

@media(min-width:650px){.shell{padding-left:25px;padding-right:25px}.panelGrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.panelGrid .card{margin:0}.nav{width:680px;left:50%;transform:translateX(-50%);border:1px solid rgba(86,115,157,.25);border-radius:18px 18px 0 0}.headline{font-size:56px}.heroCard{padding:22px 22px 18px}.sectionTitle{font-size:34px}}

 .unitDisplay{display:flex;align-items:center;min-height:43px;color:var(--muted);font-weight:700;padding:0 10px}

/* iPhone: set columns must never expand beyond the card width */
.sectionTabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;overflow:visible;max-width:570px}
.sectionTabs button{padding:10px 0;min-width:0;width:100%;text-align:center}
.refMetaBar>div:first-child{font-size:10px;white-space:nowrap}
.refCard,.refCardBody,.setRowLike,.refMetaBar{max-width:100%;min-width:0}
.refMetaBar,.setRowLike{
  grid-template-columns: minmax(26px,.34fr) minmax(0,1.24fr) minmax(0,.94fr) minmax(0,.93fr) 24px;
  gap:6px;
  padding-left:10px;
  padding-right:10px;
}
.refMetaBar>*,.setRowLike>*{min-width:0;max-width:100%}
.setIndex{font-size:22px}
.bigInputWrap{min-width:0;width:100%;gap:3px;overflow:hidden}
.bigInputWrap input{width:100%;min-width:0;max-width:100%;flex:1 1 0;font-size:20px;appearance:textfield;-moz-appearance:textfield}
.bigInputWrap input::-webkit-inner-spin-button,.bigInputWrap input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.bigInputWrap .unit{flex:0 0 auto;font-size:11px}
.readOnlyMetric{font-size:16px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:clip}
.inlineDelete{font-size:23px;line-height:1;min-width:24px}
.noteLine{display:flex;align-items:center;gap:8px;padding:0 12px 12px 46px;min-width:0;font-size:12px}
.noteLine label{display:flex;align-items:center;gap:5px;flex:0 0 auto;color:#a6bbd4}
.noteLine input.rirValue{width:43px;max-width:43px;border:none;border-bottom:1px solid #56718f;border-radius:0;background:transparent;padding:4px 2px;color:#fff;text-align:center;font-size:15px;font-weight:800}
.noteLine input.setMemo{flex:1;min-width:0;width:0;max-width:100%;border:none;border-bottom:1px solid #45617c;border-radius:0;background:transparent;padding:4px 3px;color:#dcecff;font-size:13px;text-align:center}
/* Food rows also must not acquire intrinsic widths wider than the phone. */
.mealHead,.mealRowLike{grid-template-columns:minmax(0,1fr) minmax(0,72px) minmax(0,70px) 22px;gap:5px;padding-left:10px;padding-right:10px}
.mealHead>*,.mealRowLike>*{min-width:0;max-width:100%}
.qtyBox,.qtyUnderline{min-width:0;width:100%}
.qtyBox input{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
@media(max-width:390px){
.refMetaBar,.setRowLike{grid-template-columns:minmax(24px,.34fr) minmax(0,1.17fr) minmax(0,.92fr) minmax(0,.92fr) 22px;gap:5px;padding-left:8px;padding-right:8px}
.setIndex{font-size:20px}
.bigInputWrap input{font-size:18px}
.readOnlyMetric{font-size:14px}
.noteLine{padding-left:39px}
.sectionTabs button{font-size:13px}
}
@media(max-width:340px){.refMetaBar,.setRowLike{gap:3px}.bigInputWrap input{font-size:16px}.readOnlyMetric{font-size:13px}.bigInputWrap .unit{font-size:10px}}

.setBlock{border-bottom:1px solid rgba(90,109,137,.18)}
.setBlock:last-of-type{border-bottom:0}
.setRowLike{border-bottom:0;padding-bottom:8px}
.detailRowLike{display:grid;grid-template-columns:44px 1.2fr 1fr .9fr 34px;gap:8px;align-items:end;padding:0 14px 14px}
.detailRowLike>div{min-width:0}
.detailSpacer{height:1px}
.inlineField{display:flex;align-items:center;gap:8px;min-width:0}
.inlineField .label{font-size:12px;color:#9eb3ce;white-space:nowrap}
.rirField .underlineInput{max-width:78px;text-align:center}
.memoField{grid-column:3 / 5}
.underlineInput{flex:1;min-width:0;width:100%;border:none;border-bottom:1px solid #45617c;border-radius:0;background:transparent;padding:4px 2px;color:#dcecff;font-size:14px;text-align:center}
@media(max-width:390px){
  .detailRowLike{grid-template-columns:minmax(24px,.34fr) minmax(0,1.17fr) minmax(0,.92fr) minmax(0,.92fr) 22px;gap:5px;padding-left:8px;padding-right:8px}
  .memoField{grid-column:3 / 5}
  .rirField .underlineInput{max-width:62px}
}
@media(max-width:340px){
  .detailRowLike{gap:3px}
  .inlineField .label{font-size:11px}
  .underlineInput{font-size:13px}
}


/* 食事記録：数量と単位、カロリーと単位を一行で表示 */
.mealHead,.mealRowLike{
  grid-template-columns:minmax(0,1fr) minmax(0,80px) minmax(0,76px) 22px;
  column-gap:6px;
  padding-left:10px;
  padding-right:10px;
}
.mealHead>*,.mealRowLike>*{min-width:0;max-width:100%}
.qtyInline{min-width:0;width:100%;display:flex;align-items:baseline;justify-content:center;gap:2px;border-bottom:2px solid rgba(190,210,235,.2);padding:0 0 6px;white-space:nowrap}
.qtyInline input{flex:1 1 0;width:0;min-width:0;max-width:100%;border:0!important;border-radius:0!important;background:transparent!important;padding:0!important;text-align:right;font-size:21px;line-height:1.25;font-weight:900;color:#fff;outline:none;appearance:textfield;-moz-appearance:textfield}
.qtyInline input::-webkit-inner-spin-button,.qtyInline input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.qtyInline .qtyUnit{flex:0 0 auto;display:inline;font-size:12px;line-height:1.25;font-weight:700;color:#9fb0c8;white-space:nowrap}
.kcalMetric{padding:0 0 6px;border-bottom:2px solid rgba(190,210,235,.2);white-space:nowrap;min-width:0;display:flex;justify-content:center;align-items:baseline}
.kcalInline{display:inline-flex;align-items:baseline;justify-content:center;white-space:nowrap;gap:1px;min-width:0}
.kcalInline b{font-size:19px;line-height:1.25;letter-spacing:-.4px;color:#fff}
.kcalInline span{font-size:11px;font-weight:700;color:#9fb0c8}
@media(max-width:390px){
  .mealHead,.mealRowLike{grid-template-columns:minmax(0,1fr) minmax(0,74px) minmax(0,70px) 22px;column-gap:5px}
  .qtyInline input{font-size:19px}
  .qtyInline .qtyUnit{font-size:11px}
  .kcalInline b{font-size:17px}
  .kcalInline span{font-size:10px}
}
@media(max-width:340px){
 .mealHead,.mealRowLike{grid-template-columns:minmax(0,1fr) minmax(0,68px) minmax(0,64px) 20px;column-gap:4px;padding-left:8px;padding-right:8px}
 .qtyInline input{font-size:17px}
 .kcalInline b{font-size:15px}
 .kcalInline span{font-size:9px}
}


/* typography + alignment tuning */
.top{padding:14px 0 12px}
.brand{font-size:18px;font-weight:800;letter-spacing:-.3px}.brand + div,.brand small{font-size:12px}
.dateChip{padding:7px 11px;font-size:12px;font-weight:650}
.card,.refCard,.groupCard{border-radius:22px}
.cardTitle,.refCardHead h3,.groupHead h3{font-size:15px;font-weight:800}
.btn{font-weight:650}.btn.small{font-size:11px;padding:7px 10px}.btn.full{padding:13px}
.summaryStrip{gap:8px}.summaryBox{padding:10px 8px;border-radius:16px}.summaryBox span{font-size:10px;font-weight:700;margin-bottom:5px}.summaryBox b{font-size:15px;font-weight:750}
.sectionTabs{gap:7px}.sectionTabs button{padding:9px 13px;font-size:13px;font-weight:700}
.refCardHead,.groupHead{padding:13px 15px}
.refMetaBar,.mealHead{font-size:10px;font-weight:700;padding-top:9px;padding-bottom:9px}
.setBlock{border-bottom:1px solid rgba(90,109,137,.16)}
.setRowLike{align-items:end;padding:12px 14px 8px}
.setIndex{font-size:18px;font-weight:700;color:#eef4ff}
.bigInputWrap{gap:4px;padding-bottom:7px;min-height:42px;display:flex;align-items:flex-end}
.bigInputWrap input{font-size:17px;font-weight:700;line-height:1.1}
.bigInputWrap .unit{font-size:11px;font-weight:600;margin-bottom:1px}
.readOnlyMetric{padding-bottom:7px;min-height:42px;display:flex;align-items:flex-end;justify-content:center;font-size:16px;font-weight:700;color:#e7f2ff}
.inlineDelete{font-size:18px;align-self:center}
.detailRowLike{padding-top:0;padding-bottom:12px;align-items:end}
.inlineField .label{font-size:11px;font-weight:600;color:#90a0bb}
.underlineInput{font-size:13px;font-weight:650;padding:3px 2px 5px}
.exerciseFoot{padding:8px 14px 0}.exerciseFoot .tiny{font-size:10px}
.activityLine{padding:11px 2px}.exerciseName{font-size:13px;font-weight:700}.micro{font-size:11px}
.mealRowLike{align-items:end;padding:12px 14px}
.mealTitle{font-size:15px;font-weight:750;line-height:1.15}.mealSub{font-size:11px;line-height:1.4;margin-top:4px}
.qtyBox input{font-size:17px;font-weight:700;line-height:1.1}.qtyUnit{font-size:11px}.kcalMetric{padding-bottom:7px;min-height:42px;display:flex;align-items:flex-end;justify-content:center;flex-direction:row;gap:2px}.kcalMetric b{font-size:16px;font-weight:700;display:inline;line-height:1}.kcalMetric small{font-size:11px;line-height:1;margin-bottom:1px}
.stat,.metricCard{padding:12px;border-radius:18px}.stat label,.metricCard label{font-size:10px;font-weight:700;margin-bottom:6px;letter-spacing:1.2px}.stat b,.metricCard b{font-size:21px;font-weight:750}
.legend{font-size:10px}
.chartValue{font-size:10px;fill:#cfdcf0}
.chartValueBlue{fill:#6f8ef5}
.chartValueOrange{fill:#f0a667}
@media(max-width:390px){
  .summaryBox b{font-size:14px}
  .setRowLike{padding:11px 10px 7px}
  .setIndex{font-size:17px}
  .bigInputWrap input{font-size:16px}
  .readOnlyMetric{font-size:15px}
  .mealRowLike{padding:11px 10px}
  .mealTitle{font-size:14px}
  .qtyBox input{font-size:16px}
  .kcalMetric b{font-size:15px}
}


/* bodymake memo overrides */
:root{--bg:#050505;--bg2:#080808;--panel:#0d0d0d;--panel2:#111214;--panel3:#17181a;--card:#0f1011;--card-soft:#131417;--border:#26282d;--ink:#f3f3f3;--muted:#a5a9b2;--muted2:#7a7f87;--blue:#d9d9d9;--blue2:#ffffff;--pale:#191b1f;--green:#7de7b0;--red:#ff8686;--warning:#f2c96c;--shadow:0 10px 28px rgba(0,0,0,.35)}
html,body{background:#050505;color:#f4f4f4}body::before{content:'';position:fixed;inset:0;background:radial-gradient(circle at top left,rgba(255,255,255,.045),transparent 24%),radial-gradient(circle at bottom right,rgba(255,255,255,.03),transparent 28%);pointer-events:none}
.shell{padding:0 14px 110px;max-width:720px}.top{padding:14px 0 11px;background:linear-gradient(to bottom,rgba(5,5,5,.96),rgba(5,5,5,.82));border-bottom:1px solid rgba(255,255,255,.05)}.brand{font-size:18px;font-weight:800;letter-spacing:2.3px;color:#cecece}.dateChip{background:#101113;border-color:#30333a;color:#fff}.card,.refCard,.groupCard,.stat,.metricCard{background:linear-gradient(180deg,#111214,#0c0c0d);border-color:#272a30;box-shadow:0 10px 26px rgba(0,0,0,.28)}.refCardHead,.groupHead{background:linear-gradient(180deg,#17181b,#121316);border-bottom-color:#2a2d33}.btn{background:#1b1d21;border-color:#2c3036;color:#f5f5f5}.btn.alt,.btn.ghost{background:#121316;border-color:#2b2f35;color:#ededed}.nav{background:rgba(5,5,5,.96);border-top-color:#272a30}.nav button{color:#a5aab3}.nav button.on{background:#15171b;color:#fff}
.summaryBox,.miniStat{background:linear-gradient(180deg,#17181a,#111214);border-color:#2d3137}.sectionTabs button{background:#0f1013;border-color:#2c3036;color:#c0c0c0}.sectionTabs button.on{background:#1a1c20;border-color:#3f444d;color:#fff}input,select{background:#0d0e11;border-color:#2a2d33;color:#fff}input::placeholder{color:#666}
.compactHero .heroStatGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.compactHero .metricCard{padding:10px 8px}.compactHero .metricCard label{font-size:9px;letter-spacing:.7px}.compactHero .metricCard b{font-size:16px}.quickGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.shortcutBtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:64px;border-radius:16px;background:#111214;border:1px solid #262930;color:#fff;font-size:12px;font-weight:700}.shortcutBtn span{font-size:18px}.todaySummary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.simpleList{font-size:12px;line-height:1.45}.simpleList div{display:flex;justify-content:space-between;gap:6px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.06)}.simpleList div:last-child{border-bottom:0}.homeWrap{display:flex;flex-direction:column;gap:8px;min-height:calc(100vh - 136px)}.homeWrap .card{margin:0}.homeCardTitle{font-size:13px;font-weight:800;color:#fff;margin-bottom:6px}.footnote{font-size:10px;color:#8e939b}
.summaryStrip{gap:7px;margin:8px 0 10px}.summaryBox{padding:8px 6px;border-radius:15px}.summaryBox span{font-size:10px;margin-bottom:4px}.summaryBox b{font-size:14px}.refCardHead,.groupHead{padding:11px 14px}.refCardHead h3,.groupHead h3{font-size:14px}.refMetaBar,.mealHead{font-size:10px;padding:8px 12px;background:#0d0e12}.setRowLike{padding:10px 12px 6px}.setIndex{font-size:16px;font-weight:700}.bigInputWrap input,.qtyBox input{font-size:16px;font-weight:700}.readOnlyMetric,.kcalMetric b{font-size:15px;font-weight:700}.detailRowLike{padding:0 12px 10px}.mealRowLike{padding:10px 12px}.mealTitle{font-size:14px;font-weight:750}.mealSub{font-size:11px}.sectionTabs{margin:6px 0 10px;gap:6px}.sectionTabs button{padding:8px 10px;font-size:12px}
.weightHistory{max-height:220px;overflow:auto}.historyRow{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.historyRow:last-child{border-bottom:0}
.pfcBar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:#17181b;border:1px solid #2a2d31;margin-top:8px}.pfcBar span{display:block;height:100%}.pfcBar .p{background:#8ab4ff}.pfcBar .f{background:#ffd28a}.pfcBar .c{background:#8de2c2}
.timerPanel{position:sticky;top:56px;z-index:12;margin-top:8px;background:#0f1012;border:1px solid #26282d;border-radius:20px;padding:10px 12px;box-shadow:0 8px 22px rgba(0,0,0,.28)}.timerHead{display:flex;justify-content:space-between;align-items:center;gap:8px}.timerDisplay{font-size:28px;font-weight:800;letter-spacing:1px}.timerSub{font-size:11px;color:#aeb2bb}.presetRow{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.presetRow button{min-width:40px}.timerModes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.timerCard{background:#111214;border:1px solid #26282d;border-radius:16px;padding:10px}.timerCard h4{margin:0 0 8px;font-size:13px}.timeSettings{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.timeSettings input{padding:9px 6px;font-size:14px;text-align:center}.timerActions{display:flex;gap:8px;margin-top:8px}
.mealStickyTop{position:sticky;top:56px;z-index:10;background:#050505;padding-top:8px;padding-bottom:6px}.trainStickyTop{position:sticky;top:108px;z-index:10;background:#050505;padding-top:8px;padding-bottom:6px}.stickyMealHead{position:sticky;top:144px;z-index:4}.stickyTrainHead{position:sticky;top:228px;z-index:4}
@media(max-width:520px){.timerModes{grid-template-columns:1fr}.stickyTrainHead{top:300px}}


/* iPhone: prevent timer input grids and sticky table headings from overflowing/overlapping */
.timerPanel,.timerModes,.timerCard,.timeSettings,.timeSettings>div{min-width:0;max-width:100%;box-sizing:border-box}
.timerModes{grid-template-columns:minmax(0,1fr)}
.timeSettings{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
.timeSettings input{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.stickyTrainHead,.stickyMealHead{position:static}

/* iPhone HIIT timer: prevent intrinsic grid overflow */
.timerPanel,.timerModes,.timerCard,.timeSettings,.timeSettings>div{min-width:0;max-width:100%;box-sizing:border-box}
.timerModes{grid-template-columns:minmax(0,1fr)}
.timerCard{width:100%;overflow:hidden}
.timeSettings{grid-template-columns:repeat(3,minmax(0,1fr))}
.timeSettings>div{min-width:0}
.timeSettings input{width:100%;min-width:0;max-width:100%;padding:8px 3px;box-sizing:border-box}
.timerPanel .presetRow button{min-width:0;flex:1;padding:7px 5px}

/* v1.1.3: the timer is optional rather than pinned over the workout */
.timerPanel{position:relative;top:auto;z-index:auto}
.trainStickyTop{top:56px}
.miniTopBar .rightGroup{flex-wrap:nowrap;gap:5px}
.miniTopBar .rightGroup .btn{white-space:nowrap;padding:7px 8px;font-size:11px}
/* Today's workouts: all sets with kg and reps, while retaining the compact home. */
.homeWorkoutList{max-height:none;overflow:visible}
.homeWorkout{display:block!important;padding:6px 0!important;border-bottom:1px solid rgba(255,255,255,.11)!important}
.homeWorkout .homeExTitle{display:block!important;padding:0 0 3px!important;border:0!important;color:#f5f5f5;font-weight:750;font-size:11px;overflow-wrap:anywhere}
.homeWorkout .homeSetLine{display:flex!important;gap:6px!important;padding:2px 0!important;border:0!important;align-items:center;justify-content:space-between;color:#d0d2d5;font-size:11px;font-variant-numeric:tabular-nums}
.homeWorkout .homeSetLine span:last-child{white-space:nowrap}

/* v1.1.8 — new controls only; inherit v1.1.7 palette */
.patternBar{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:6px 0 9px;min-width:0;flex-wrap:wrap}
.patternButtons{display:flex;flex:1 1 156px;gap:5px;min-width:0}
.patternButton{flex:1;border:1px solid #303238;border-radius:9px;background:#101113;color:#c8cbd0;padding:7px 3px;font-size:11px;font-weight:700;min-width:0}
.patternButton.on{border-color:#a7aab2;background:#25272c;color:white}
.patternActions{display:flex;gap:5px;margin-left:auto}.patternActions .btn{font-size:10px;padding:7px 8px;white-space:nowrap}
.detailRowLike .copyAboveBtn{color:#eff0f2;background:#1d1f23;border:1px solid #393b43;border-radius:8px;font-size:10px;white-space:nowrap;padding:5px 7px;align-self:center;line-height:1.1}
.detailRowLike{display:flex!important;align-items:center;gap:6px;padding-right:9px!important;padding-left:42px!important}
.detailRowLike .detailSpacer{display:none!important}
.detailRowLike .rirField{flex:0 0 68px;min-width:0}
.detailRowLike .memoField{flex:1 1 0;min-width:0;grid-column:auto!important}
.detailRowLike .inlineField .label{font-size:10px}
.detailRowLike .underlineInput{min-width:0;width:100%;font-size:12px}
.energyDetail{margin-top:7px;font-size:12px;color:#c2c4ca}
.energyDetail div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.055)}
.energyDetail div:last-child{border:0}.energyDetail b{font-weight:700;color:#eee}
.levelList{font-size:12px}.levelLine{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #292b31;color:#aeb1b9}.levelLine.selected{color:#fff;font-weight:750}.levelLine small{white-space:nowrap;color:#a5abb4}
.weekBalanceBlock{padding-top:5px}.weekBalanceSvg{display:block;width:100%;height:auto;max-height:150px}.weekEmpty{font-size:11px;color:#969aa4;padding:14px 0;text-align:center}
.chart-enter{animation:chartFade .6s ease both}.chart-enter polyline{stroke-dasharray:2000;stroke-dashoffset:2000;animation:chartStroke 1s ease forwards}
.chart-enter circle{animation:chartDot .45s .24s ease both}
.chart-enter text{animation:chartDot .55s .14s ease both}
@keyframes chartFade{from{opacity:.35}to{opacity:1}}@keyframes chartStroke{to{stroke-dashoffset:0}}@keyframes chartDot{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.chart-enter,.chart-enter polyline,.chart-enter circle,.chart-enter text{animation:none!important;stroke-dashoffset:0!important}}
@media(max-width:360px){.detailRowLike{padding-left:32px!important;gap:4px}.detailRowLike .rirField{flex-basis:60px}.detailRowLike .copyAboveBtn{padding:5px 4px;font-size:9px}}

/* v1.1.10: settings access, selected-day workout, nutrition fit, data-chart entrance */
.topActions{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0}
.topSettingsBtn{border:1px solid #30333a;background:#101113;color:#ececec;border-radius:12px;min-height:35px;padding:6px 9px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.top .brand{flex:0 1 auto;min-width:0;white-space:nowrap}
.homeMainWorkout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:8px;margin:9px 0 2px}
.homeMainWorkout>div{min-width:0;border-top:1px solid #303238;padding:8px 0 4px}
.homeMainWorkout small{display:block;color:#a9adb6;font-size:10px;margin-bottom:3px}
.homeMainWorkout strong{display:block;font-size:13px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
#meal .mealSummaryCard .pfc{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
#meal .mealSummaryCard .pfc .stat{min-width:0;padding:8px 4px}
#meal .mealSummaryCard .pfc .stat label{font-size:10px;letter-spacing:0;white-space:nowrap}
#meal .mealSummaryCard .pfc .stat b{font-size:clamp(13px,3.8vw,17px);overflow-wrap:anywhere}
#meal .mealSummaryCard .heroStatGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#meal .mealSummaryCard .metricCard{min-width:0;padding:10px 7px}
#meal .mealSummaryCard .metricCard label{font-size:10px;letter-spacing:.4px;overflow-wrap:anywhere}
#meal .mealSummaryCard .metricCard b{font-size:clamp(15px,4vw,18px);line-height:1.3;white-space:normal;overflow-wrap:anywhere}
#meal .mealSummaryCard .metricCard b small{font-size:10px;font-weight:500;white-space:nowrap}
.chart-enter polyline.memoChartTrace{stroke-dasharray:100;stroke-dashoffset:100;animation:memoTraceIn .9s cubic-bezier(.23,.8,.23,1) .08s forwards}
@keyframes memoTraceIn{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@media(max-width:390px){.top .brand{font-size:clamp(12px,3.8vw,16px);letter-spacing:clamp(.4px,.3vw,1.2px)}.topSettingsBtn{padding:6px 7px;font-size:11px}.topActions{gap:4px}.topActions .dateChip{font-size:11px;padding:7px 8px}.homeMainWorkout strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.chart-enter polyline.memoChartTrace{animation:none!important;stroke-dashoffset:0!important}}
