:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#111827;font-synthesis:none;background:#eef1f4;font-family:Inter,Noto Sans JP,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#111827;min-width:320px}body{background:radial-gradient(circle at 85% -5%,#84cc162e,#0000 24rem),linear-gradient(#111827 0 175px,#eef1f4 175px);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.68}.shell{width:min(920px,100%);min-height:100vh;padding:max(20px, env(safe-area-inset-top)) 18px max(44px, env(safe-area-inset-bottom));margin:0 auto}.topbar{color:#fff;align-items:center;gap:12px;min-height:64px;display:flex;position:relative}.brandMark{color:#17210d;background:#a3e635;border-radius:15px;place-items:center;width:48px;height:48px;display:grid;transform:rotate(-4deg)}.brandCopy{flex:1}.eyebrow{color:#6b7280;letter-spacing:.13em;margin:0 0 4px;font-size:.68rem;font-weight:900}.topbar .eyebrow{color:#9ca3af}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.04em;margin-bottom:0;font-size:clamp(1.6rem,5vw,2.1rem);line-height:1}h2{letter-spacing:-.025em;margin-bottom:0;font-size:1.3rem}.viewSwitchButton{color:#fff;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff29;border-radius:14px;justify-content:center;align-items:center;gap:7px;min-height:46px;padding:0 13px;font-size:.78rem;font-weight:850;display:inline-flex}.logoutButton{color:#fff;background:#ffffff14;border:1px solid #ffffff29;border-radius:14px;flex:none;place-items:center;width:46px;height:46px;display:grid}.authShell{place-items:center;min-height:100vh;padding:24px;display:grid}.authCard{text-align:center;background:#fff;border:1px solid #dce1e7;border-radius:24px;width:min(420px,100%);padding:28px;box-shadow:0 18px 55px #0f172a33}.authCard .brandMark{margin:0 auto 20px}.authCard h1{margin-bottom:14px}.authCard>p:not(.eyebrow,.formError){color:#4b5563;font-size:.9rem;line-height:1.7}.authShell>.spinner{border-color:#a3e635 #ffffff40 #ffffff40}.pageContent{margin-top:24px}.entryCard,.historySection{background:#fff;border:1px solid #dce1e7;border-radius:22px;box-shadow:0 14px 40px #0f172a14}.entryCard{padding:20px}.sectionHeading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.sectionHeading>svg{color:#9ca3af}.recordTypeToggle{background:#e9edf1;border-radius:13px;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:18px;padding:4px;display:grid}.recordTypeToggle button{color:#6b7280;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:44px;font-size:.82rem;font-weight:900;display:inline-flex}.recordTypeToggle button.active{color:#fff;background:#111827;box-shadow:0 2px 7px #0f172a2e}.field,.numberField{gap:8px;display:grid}.field>span,.numberField>span{color:#4b5563;font-size:.8rem;font-weight:850}.fieldLabelWithControl,.numberFieldHeader{justify-content:space-between;align-items:center;gap:10px;display:flex}.fieldLabelWithControl{color:#4b5563;min-height:30px;font-size:.8rem;font-weight:850}.numberFieldHeader{color:#4b5563;min-height:27px;font-size:.8rem;font-weight:850}.unitToggle{background:#e9edf1;border-radius:9px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.unitToggle button{color:#6b7280;text-transform:lowercase;background:0 0;border:0;border-radius:7px;min-width:38px;height:26px;font-size:.72rem;font-weight:900}.unitToggle button.active{color:#fff;background:#111827;box-shadow:0 1px 4px #0f172a33}.unitToggle.compact{padding:2px}.unitToggle.compact button{min-width:34px;height:24px}.field input,.numberField input{color:#111827;background:#f9fafb;border:1px solid #cfd5dd;border-radius:12px;outline:none;width:100%;transition:border-color .12s,box-shadow .12s,background .12s}.field input:focus,.numberField input:focus{background:#fff;border-color:#84cc16;box-shadow:0 0 0 4px #84cc1626}.field input{min-height:50px;padding:0 14px}.inputWithIcon{position:relative}.inputWithIcon input{padding-right:42px}.inputWithIcon svg{color:#6b7280;pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.exerciseChips{scrollbar-width:none;gap:8px;margin:10px -2px 14px;padding:2px;display:flex;overflow-x:auto}.exerciseChips::-webkit-scrollbar{display:none}.exerciseChips button{color:#4b5563;background:#fff;border:1px solid #d8dde4;border-radius:999px;flex:none;min-height:34px;padding:0 12px;font-size:.76rem;font-weight:800}.exerciseChips button.active{color:#fff;background:#111827;border-color:#111827}.previousButton{color:#365314;text-align:left;background:#f6fee9;border:1px solid #d9e9bf;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:48px;margin-bottom:16px;padding:8px 12px;display:grid}.previousButton span{font-size:.8rem}.previousButton strong{margin-left:3px}.previousButton small{color:#648226;font-size:.68rem;font-weight:800}.numberGrid,.twoColumns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.numberGrid.single{grid-template-columns:minmax(0,1fr)}.numberInput{position:relative}.numberField input{letter-spacing:-.04em;height:86px;padding:4px 82px 4px 14px;font-size:clamp(1.8rem,7vw,2.6rem);font-weight:900}.numberField input::-webkit-inner-spin-button{appearance:none;margin:0}.numberField input::-webkit-outer-spin-button{appearance:none;margin:0}.stepper{grid-template-columns:1fr 1fr;gap:4px;display:grid;position:absolute;top:10px;right:10px}.stepper button{color:#374151;background:#e9edf1;border:0;border-radius:9px;place-items:center;width:32px;height:66px;display:grid}.stepper button:active{background:#d8dee5}.saveButton,.primaryButton,.dangerButton{border:0;border-radius:13px;justify-content:center;align-items:center;gap:9px;font-weight:900;display:inline-flex}.saveButton{color:#17210d;background:#a3e635;width:100%;min-height:58px;margin-top:16px;font-size:1rem;box-shadow:0 8px 18px #65a30d33}.saveButton:active{transform:translateY(1px)}.formError{color:#b91c1c;background:#fef2f2;border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:.82rem;font-weight:750}.spinner{border:3px solid #17210d40;border-top-color:#17210d;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.historySection{padding:20px}.historyPageHeader{grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:12px;margin-bottom:16px;display:grid}.historyPageHeader>svg{color:#9ca3af}.summarySheet{background:#f7faef;border:1px solid #dce5cc;border-radius:16px;margin-bottom:16px;overflow:hidden}.summarySheet summary{cursor:pointer;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:66px;padding:10px 12px;list-style:none;display:grid}.summarySheet summary::-webkit-details-marker{display:none}.summaryIcon{color:#17210d;background:#a3e635;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.summaryHeading{gap:2px;min-width:0;display:grid}.summaryHeading strong{font-size:.9rem}.summaryHeading small{color:#6b7280;font-size:.7rem;font-weight:750}.summaryToggle{color:#6b7280;align-items:center;gap:3px;font-size:.7rem;font-weight:850;display:flex}.summaryToggle svg{transition:transform .18s}.summarySheet[open] .summaryToggle svg{transform:rotate(180deg)}.summaryContent{border-top:1px solid #dce5cc;padding:12px}.summaryMetrics{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));gap:8px;display:grid}.summaryMetric{background:#fff;border:1px solid #e1e5ea;border-radius:12px;align-content:space-between;gap:12px;min-width:0;min-height:82px;padding:11px;display:grid}.summaryMetric.primary{background:#f4fce6;border-color:#bef264}.summaryMetric>span{color:#6b7280;font-size:.68rem;font-weight:800}.summaryMetric strong{color:#111827;letter-spacing:-.04em;white-space:nowrap;font-size:clamp(1.15rem,4.5vw,1.6rem);line-height:1}.summaryMetric small{color:#6b7280;letter-spacing:0;margin-left:4px;font-size:.55em;font-weight:850}.summaryLoading{color:#6b7280;justify-content:center;align-items:center;gap:9px;min-height:82px;font-size:.78rem;font-weight:800;display:flex}.summaryLoading .spinner{border-width:2px;width:17px;height:17px}.summaryError{color:#b91c1c;background:#fef2f2;border-radius:10px;margin:0;padding:12px;font-size:.78rem;font-weight:750}.calendarPanel{background:#f9fafb;border:1px solid #e1e5ea;border-radius:16px;padding:12px 10px}.calendarHeader{grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:10px;display:grid}.calendarHeader h3{text-align:center;margin:0;font-size:1rem}.calendarHeader button{color:#4b5563;background:#fff;border:1px solid #dce1e7;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.weekdayRow,.calendarGrid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekdayRow span{color:#8a929f;text-align:center;padding:4px 0 8px;font-size:.68rem;font-weight:850}.weekdayRow .sunday{color:#dc6b6b}.weekdayRow .saturday{color:#5883bd}.calendarGrid{gap:3px}.calendarBlank,.calendarDay{aspect-ratio:1}.calendarDay{color:#6b7280;background:0 0;border:1px solid #0000;border-radius:9px;align-content:center;justify-items:center;min-width:0;padding:4px 2px 10px;display:grid;position:relative;overflow:hidden}.calendarDay.hasRecords:before{display:none}.calendarDay .dayNumber{font-size:.78rem;font-weight:800}.calendarDay.hasRecords,.calendarDay.multiBodyParts{color:#111827;background:#fff;border-color:#d8dee6}.calendarDay.today{border-color:#aeb5bf}.calendarDay.selected{color:#111827;background:#fff;border-color:#111827;box-shadow:0 3px 8px #0f172a1f,inset 0 0 0 2px #111827}.calendarDay.hasRecords.selected,.calendarDay.multiBodyParts.selected{color:#111827;background:#fff}.calendarExerciseDots{justify-content:center;align-items:center;gap:3px;min-height:5px;display:flex;position:absolute;bottom:4px;left:4px;right:4px}.calendarExerciseDots i{background:var(--body-solid);border-radius:50%;width:5px;height:5px}.calendarLegend{color:#8a929f;justify-content:flex-end;align-items:center;gap:6px;margin:9px 2px 0;font-size:.66rem;font-weight:700;display:flex}.bodyPartLegend{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.bodyPartLegend span{border:1px solid var(--body-border);max-width:100%;min-height:24px;color:var(--body-fg);background:#fff;border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:.66rem;font-weight:850;display:inline-flex}.bodyPartLegend i{background:var(--body-solid);border-radius:50%;width:9px;height:9px}.calendarLegend i{background:#94a3b8;border-radius:50%;width:7px;height:7px}.selectedDayPanel{margin-top:18px}.dateHeader{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;min-height:40px;display:flex}.emptyDay{color:#9ca3af;text-align:center;padding:28px 12px 16px;font-size:.8rem;font-weight:750}.dateHeader h3{margin-bottom:0;font-size:.88rem}.dateHeader span{color:#9ca3af;font-size:.72rem;font-weight:850}.setList{display:grid}.setRow{border-bottom:1px solid #edf0f3;border-left:5px solid var(--body-solid,transparent);background:linear-gradient(90deg, var(--body-bg,transparent), transparent 58%);grid-template-columns:52px minmax(0,1fr) 40px;align-items:center;gap:10px;min-height:70px;padding-left:8px;display:grid}.setRow:last-child{border-bottom:0}.setRow time{color:#9ca3af;font-size:.72rem;font-weight:800}.setDetails{gap:3px;min-width:0;display:grid}.setTitle{align-items:center;gap:7px;min-width:0;display:flex}.setTitle i{background:var(--body-solid);border-radius:50%;flex:none;width:10px;height:10px}.setTitle em{border:1px solid var(--body-border);background:var(--body-bg);color:var(--body-fg);border-radius:999px;flex:none;padding:2px 7px;font-size:.62rem;font-style:normal;font-weight:900}.setDetails strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.setDetails span{color:#111827;font-size:1.06rem;font-weight:900}.setDetails small{color:#9ca3af;font-size:.66em;font-weight:800}.setDetails b{color:#84cc16;margin:0 4px}.editButton,.iconButton{color:#6b7280;background:#fff;border:1px solid #dce1e7;place-items:center;display:grid}.editButton{border-radius:10px;width:36px;height:36px}.iconButton{border-radius:12px;width:42px;height:42px}.emptyState{color:#9ca3af;text-align:center;justify-items:center;gap:8px;padding:36px 18px 28px;display:grid}.emptyState strong{color:#4b5563}.emptyState span{max-width:320px;font-size:.78rem}.toast{z-index:20;right:50%;bottom:max(22px, env(safe-area-inset-bottom));color:#fff;background:#111827;border-radius:999px;align-items:center;gap:8px;min-height:46px;padding:0 18px;font-size:.83rem;font-weight:850;display:flex;position:fixed;transform:translate(50%);box-shadow:0 12px 32px #0f172a47}.toast svg{color:#a3e635}.modalBackdrop{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a9e;align-items:end;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:22px;width:min(520px,100%);max-height:calc(100vh - 32px);margin:0 auto;padding:20px;overflow-y:auto;box-shadow:0 22px 70px #00000047}.modalHeader{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.editForm{gap:16px;display:grid}.modalActions{grid-template-columns:auto 1fr;gap:10px;margin-top:4px;display:grid}.primaryButton,.dangerButton{min-height:50px;padding:0 16px}.primaryButton{color:#fff;background:#111827}.dangerButton{color:#b91c1c;background:#fff7f7;border:1px solid #fecaca}@media (width>=680px){body{background:radial-gradient(circle at 75% -15%,#84cc1633,#0000 34rem),linear-gradient(#111827 0 190px,#eef1f4 190px)}.shell{padding-left:28px;padding-right:28px}.entryCard,.historySection{padding:26px}.calendarPanel{padding:18px}.calendarDay{max-height:72px}.modalBackdrop{align-items:center}}@media (width<=480px){.shell{padding-left:12px;padding-right:12px}.entryCard,.historySection{border-radius:18px;padding:16px}.numberGrid{gap:8px}.numberField input{height:80px;padding-right:74px}.stepper{top:9px;right:8px}.stepper button{width:29px;height:62px}.previousButton small{display:none}.summaryMetrics{grid-template-columns:1.35fr 1fr}.summaryMetric.primary{grid-column:1/-1}.twoColumns{grid-template-columns:1fr}}
