:root{color-scheme:light;--bg:#f5f8fa;--card:#fff;--text:#1a3040;--muted:#526b7e;--line:#d9e4eb;--soft:#edf3f6;--accent:#00766f;--accent-soft:#e5f4ef;--warm:#af4c21;--warm-bg:#fff2e9;--blue:#168bc6;--past:#8b98a8;--pink:#ed4a78;--danger:#b73143;--shadow:0 4px 22px #243e5011}
[data-theme=dark]{color-scheme:dark;--bg:#101b23;--card:#1a2a34;--text:#eaf4f7;--muted:#aec0cd;--line:#354b58;--soft:#233943;--accent:#79dfc9;--accent-soft:#204139;--warm:#ffb08b;--warm-bg:#3c2c28;--blue:#53c5fb;--past:#9aaabb;--pink:#ff85a6;--danger:#ffa3b0;--shadow:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;-webkit-text-size-adjust:100%;min-height:100svh}h1,h2,h3,p{margin:0}h1{font-size:29px;line-height:1.45;letter-spacing:-.04em;font-weight:720}h2{font-size:19px;line-height:1.6;letter-spacing:-.03em;font-weight:680}h3{font-size:16px;font-weight:680}button,input,select,textarea{font:inherit;color:inherit}button{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:default}button,a,input,select,textarea,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.chart-point:focus-visible{outline:3px solid var(--accent);outline-offset:3px}main:focus{outline:none}input,textarea,select{width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:16px;line-height:1.5}select{padding-right:30px}textarea{resize:vertical}input[type=date]{appearance:none;-webkit-appearance:none;min-height:50px;text-align:left}input[type=date]::-webkit-date-and-time-value{text-align:left}input[type=radio],input[type=checkbox]{width:19px;min-width:19px;height:19px;min-height:19px;accent-color:var(--accent);padding:0}svg{display:block}.icon{width:22px;height:22px;flex-shrink:0}.num{font-variant-numeric:tabular-nums;letter-spacing:-.055em;font-weight:750}.shell{max-width:1160px;margin:auto;padding:0 30px 38px}.header{min-height:90px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:14px;padding-top:env(safe-area-inset-top)}.brand{display:flex;align-items:center;gap:12px;text-align:left;padding:0;background:none;color:var(--text)}.brand-mark{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--accent);color:var(--card);font-size:27px;font-weight:800;line-height:1}.brand-mark>span{position:absolute;right:5px;top:4px;font-size:16px}.brand-name{display:block;letter-spacing:.08em;font-size:18px;font-weight:800;line-height:1.4}.brand-sub{display:block;color:var(--muted);font-size:10px;letter-spacing:.01em;margin-top:3px}.header-actions{display:flex;align-items:center;gap:12px}.save-indicator{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;white-space:nowrap}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.muted-dot{background:var(--muted)}.icon-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);padding:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 17px;border-radius:12px;font-size:14px;font-weight:650;background:var(--soft);color:var(--text);line-height:1.5;text-decoration:none}.button.primary{background:var(--accent);color:var(--card)}[data-theme=dark] .button.primary{color:#102a26}.button.ghost{background:var(--card);border:1px solid var(--line)}.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:7px 3px;background:transparent;color:var(--accent);gap:7px;font-size:13px;font-weight:650}.text-button .icon{width:18px;height:18px}.full{width:100%}.subtle{color:var(--muted)!important}.warm-text{color:var(--warm)!important}.danger-text,.warning-text{color:var(--danger)!important}.caption{font-size:13px;line-height:1.75;color:var(--muted)}.micro{font-size:11px;line-height:1.75;color:var(--muted)}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--accent);margin-bottom:5px}.subtitle{font-size:13px;color:var(--muted);margin-top:6px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 22px}.badge{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);border-radius:8px;padding:5px 10px;font-size:11px;white-space:nowrap}.navigation{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:6px}.navigation button{display:flex;align-items:center;gap:9px;background:none;color:var(--muted);padding:17px 2px 14px;border-bottom:3px solid transparent;font-size:14px;font-weight:650;min-height:60px}.navigation button[aria-current=page]{color:var(--accent);border-color:var(--accent)}.card{background:var(--card);border:1px solid var(--line);border-radius:19px;padding:24px;box-shadow:var(--shadow)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat{padding:19px 24px;min-width:0}.stat.featured{border-top:3px solid var(--accent);padding-top:17px}.stat-label{font-size:12px;color:var(--muted)}.stat-value{font-size:36px;line-height:1.45;margin:7px 0 4px}.stat-note{font-size:11px;color:var(--muted);letter-spacing:0}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:22px}.side-stack{display:grid;gap:18px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.section-heading .badge{margin-top:2px}.chart-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 11px}.chart-controls select{font-size:13px;min-height:44px;padding:10px;border-radius:12px}.field-label{display:block;font-size:13px;font-weight:650;margin-bottom:7px}.chart-controls .field-label{font-size:11px;font-weight:500}.legend{display:flex;flex-wrap:wrap;gap:7px 14px;font-size:11px;color:var(--muted);margin:13px 0 12px}.legend>span{display:inline-flex;align-items:center;gap:6px}.line-key{display:inline-block;width:18px;border-top:3px solid var(--blue)}.line-key.past{border-color:var(--past);border-width:2px}.line-key.plan{border-color:var(--pink);border-style:dashed;border-width:2px}.chart{width:100%;min-width:0;margin-top:5px;min-height:245px}.chart svg{width:100%;height:auto;overflow:visible}.grid-line{stroke:var(--line);stroke-width:1}.axis-label{fill:var(--muted);font-size:10.5px}.today-line{stroke:var(--accent);opacity:.45;stroke-dasharray:3 4;stroke-width:1}.today-label{fill:var(--accent);font-size:10px}.goal-line{stroke:var(--pink);stroke-width:1.3;stroke-dasharray:5 5;opacity:.8}.goal-label{fill:var(--pink);font-size:10px}.plan-line{fill:none;stroke:var(--pink);stroke-width:1.9;stroke-dasharray:4 4}.plan-point{fill:var(--card);stroke:var(--pink);stroke-width:1.5}.run-line{fill:none;stroke-linejoin:round;stroke-linecap:round}.run-line.current{stroke:var(--blue);stroke-width:2.6}.run-line.past{stroke:var(--past);stroke-width:1.6}.current-point{fill:var(--blue);stroke:var(--card);stroke-width:2}.past-point{fill:var(--past);stroke:var(--card);stroke-width:2}.chart-point{cursor:pointer}.chart-footnote{margin-top:5px}.inspector{padding:15px;margin-top:15px;border-radius:14px;background:var(--soft)}.inspector-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:1px}.inspector-date{font-size:13px}.inspector-time{font-size:30px;line-height:1.25}.inspector-memo{font-size:13px;margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}.comparison-note{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:11px;margin-top:12px;line-height:1.8}.comparison-note strong{color:var(--text);font-size:13px}.inspector select{font-size:12px;margin-top:11px;min-height:44px}.goal-card{background:var(--warm-bg);border-color:transparent;box-shadow:none}.goal-card>.section-heading>.icon{color:var(--warm)}.goal-time{font-size:47px;color:var(--warm);margin-top:22px;line-height:1.25}.goal-time>span{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:9px}.goal-time+.caption{margin-top:7px}.goal-message{border-top:1px solid var(--line);padding-top:13px;margin-top:17px;font-size:13px;line-height:1.85}.milestones{margin-top:10px}.milestones summary{font-size:13px;display:flex;align-items:center;gap:9px}.plan-badge{font-size:10px;color:var(--muted);font-weight:400;border:1px solid var(--line);padding:1px 4px;border-radius:3px}.expand-mark{margin-left:auto;font-size:21px;font-weight:400;color:var(--muted)}summary{cursor:pointer;min-height:46px;padding:10px 0;list-style:none;font-size:13px;font-weight:600}summary::-webkit-details-marker{display:none}.milestones ol{list-style:none;margin:7px 0 10px;padding:0}.milestones li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.milestones li>div{font-size:12px;flex:1}.milestones li small{display:block;color:var(--muted);font-size:10px}.milestones li strong{font-size:19px}.step-index{display:grid;place-items:center;width:23px;height:23px;font-size:11px;border:1px solid var(--line);border-radius:50%}.next-step .step-index{background:var(--warm);color:var(--card);border-color:transparent}.goal-button{justify-content:space-between;width:100%;background:var(--card);margin-top:16px}.latest-time{font-size:32px;margin:9px 0 3px}.latest-time>span{font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted)}.latest-card .micro{margin-top:8px;white-space:pre-wrap;overflow-wrap:anywhere}.gentle-note{padding:0 7px;font-size:12px;color:var(--muted);line-height:1.9}.footer{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:10px;margin:30px 0 0;line-height:1.8}.footer .icon{width:14px;height:14px;margin-top:3px}.footer span{font-size:10px}.welcome-note,.undo-note,.update-banner{display:flex;gap:12px;justify-content:space-between;align-items:center;border:1px solid var(--line);background:var(--accent-soft);padding:13px 16px;border-radius:13px;margin:0 0 20px;font-size:13px}.welcome-note>.text-button,.undo-note>.text-button{flex-shrink:0}.welcome-note strong,.undo-note strong,.update-banner strong{font-size:13px}.update-banner{margin-top:16px}.offline-banner{display:flex;align-items:center;gap:8px;font-size:12px;padding:10px 0;color:var(--muted)}.chart-empty{text-align:center;background:var(--soft);padding:17px;border-radius:12px;margin:6px 0 15px;font-size:14px}.chart-empty p{margin:6px 0 12px}.notice{padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:var(--warm-bg);margin:15px 0;font-size:13px;overflow-wrap:anywhere}.notice p{margin-top:7px}.notice .button{margin-top:10px}.danger-notice{border-color:var(--danger)}.form-layout{display:grid;grid-template-columns:minmax(0,640px) 1fr;gap:24px;align-items:start}.field{display:block;margin:0 0 22px}.field .micro{display:block;margin-top:6px}.fields{display:grid;gap:14px}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.time-inputs{display:flex;align-items:center;gap:12px;margin:9px 0 5px}.time-inputs>label{position:relative;flex:1}.time-inputs input{font-size:42px;font-weight:750;line-height:1.35;height:86px;text-align:center;padding:12px 28px 12px 12px;font-variant-numeric:tabular-nums;letter-spacing:-.04em;background:var(--soft);border:1px solid var(--line)}.time-inputs label>span{position:absolute;right:12px;bottom:15px;color:var(--muted);font-size:12px}.time-colon{font-size:28px;font-weight:650;color:var(--muted);margin-top:-8px}.save-button{width:100%;min-height:52px;font-size:15px;margin:2px 0 18px}.draft-status{display:flex;align-items:flex-start;gap:6px;background:var(--accent-soft);padding:9px 11px;border-radius:9px;font-size:11px;color:var(--accent);margin-bottom:18px}.draft-status .icon{width:15px;height:15px;margin-top:2px}.optional-details{border-top:1px solid var(--line)}.optional-details summary{display:flex;align-items:center;gap:5px;font-size:13px}.optional{font-size:10px;font-weight:400;color:var(--muted);margin-left:7px;white-space:nowrap}.optional-content{padding-top:12px}.choice-fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}.choice-fieldset legend{padding:0;margin:0 0 10px;font-size:13px;font-weight:650}.choices{display:flex;gap:8px;flex-wrap:wrap}.choice{position:relative}.choice input{position:absolute;opacity:0;width:1px;height:1px;min-width:0;min-height:0}.choice span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:11px;background:var(--card);font-size:13px;cursor:pointer;color:var(--muted)}.choice input:checked+span{color:var(--accent);background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.char-count{display:block;text-align:right;margin-top:4px}.form-error{background:var(--warm-bg);border-left:3px solid var(--danger);color:var(--danger);padding:10px 12px;font-size:13px;margin:8px 0 16px}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.form-bottom .text-button{font-size:12px;white-space:nowrap}.mini-rule{border-top:1px solid var(--line);padding-top:15px;margin-top:17px}.legacy-note{margin-top:-5px;margin-bottom:20px}.history-filters{display:flex;gap:12px;margin:0 0 18px}.history-filters>input{flex:1}.history-filters>div{display:flex;gap:10px}.history-filters select{font-size:13px;min-width:120px}.history-list{display:grid;gap:13px}.run-item{padding:17px 20px;box-shadow:none}.run-item-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.run-date{font-size:14px;font-weight:650;margin-bottom:4px}.run-time-block{display:flex;flex-direction:column;align-items:flex-end}.run-time{font-size:31px;line-height:1.2}.run-time-block>.badge{font-size:10px;padding:2px 6px;margin-top:4px}.run-memo{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;margin-top:8px}.vo2-note{margin-top:7px}.run-actions{display:flex;justify-content:flex-end;gap:18px;border-top:1px solid var(--line);margin-top:12px;padding-top:4px}.run-actions>.text-button{min-height:40px;font-size:12px}.pagination{display:flex;align-items:center;justify-content:space-between;margin:18px 0}.pagination>div{display:flex;gap:10px}.pagination .button{min-height:44px;font-size:12px}.empty-state{text-align:center;padding:35px 20px}.empty-state>.icon{margin:0 auto 15px;width:34px;height:34px;color:var(--accent)}.empty-state>.button{margin-top:15px}.empty-state .caption{margin-top:6px}.conversion-card{margin-top:24px}.conversion-card .caption{margin-top:7px}.conversions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:17px 0 0}.conversions>div{display:flex;flex-direction:column;background:var(--soft);border-radius:11px;padding:14px}.conversions strong{font-size:28px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.settings-card .section-heading{margin-bottom:9px}.settings-card>.caption{margin-bottom:14px}.settings-card>.button{margin-top:10px}.settings-card>.field{margin-top:18px}.settings-card details{border-top:1px solid var(--line);margin-top:12px}.settings-card details>.caption{margin:6px 0 12px}.settings-card details strong{color:var(--text)}.safety-box{background:var(--soft);border-radius:11px;padding:12px;margin-top:14px}.safety-box strong{font-size:12px}.status-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--accent);padding:17px 0 6px}.modal{color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px;width:min(470px,calc(100% - 28px));max-height:calc(100dvh - 36px);overflow:auto;box-shadow:0 24px 100px #0004;overscroll-behavior:contain}.modal-wide{width:min(560px,calc(100% - 28px))}.modal::backdrop{background:#0b1b2a80;backdrop-filter:blur(4px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.modal-heading h2{font-size:20px}.modal-heading .icon-button{border:0;background:transparent;flex-shrink:0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.modal-actions>.primary{flex:1}.confirm-text{white-space:pre-line;font-size:14px;line-height:1.9}.filename{font-size:12px;overflow-wrap:anywhere;color:var(--muted);margin-bottom:4px}.import-modes{display:grid;gap:10px;margin:20px 0 16px}.mode-choice{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:12px;padding:13px;cursor:pointer}.mode-choice input{margin:4px 0 0}.mode-choice strong{font-size:13px}.mode-choice.chosen{border-color:var(--accent);background:var(--accent-soft)}.disabled-choice{opacity:.6;cursor:default}.import-counts{display:grid;grid-template-columns:repeat(3,1fr);background:var(--soft);padding:13px;border-radius:12px;margin-bottom:15px;text-align:center;gap:10px}.import-counts>span{font-size:11px;color:var(--muted)}.import-counts strong{display:block;font-size:23px;font-weight:650;color:var(--text);margin-top:3px}.restore-summary{padding:13px;background:var(--warm-bg);border-radius:12px;margin:13px 0}.restore-summary>strong{font-size:16px}.confirmation-check{display:flex;align-items:center;gap:10px;margin-top:15px;min-height:44px;font-size:13px}.install-steps{list-style:none;padding:0;margin:21px 0;display:grid;gap:18px}.install-steps>li{display:flex;align-items:flex-start;gap:12px}.install-steps>li>span{width:27px;height:27px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);border-radius:50%;font-size:12px;flex-shrink:0}.install-steps strong{font-size:13px}.install-steps p .icon{display:inline-block;vertical-align:middle;width:17px;height:17px}.toast{position:fixed;z-index:50;left:50%;bottom:26px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;background:var(--text);color:var(--card);font-size:13px;box-shadow:0 6px 35px #0003;border-radius:13px;padding:11px 12px 11px 17px;max-width:calc(100% - 28px);width:max-content}.toast>span{max-width:480px}.toast>button{padding:10px;background:none;color:inherit;min-height:44px;min-width:40px;flex-shrink:0}.loading-card{text-align:center;margin-top:35px;padding:36px 20px}.loading-card>.icon{margin:0 auto 12px;color:var(--accent);height:32px;width:32px}.loading-card h1{font-size:23px}.loading-card p{margin-top:10px}.boot-message{max-width:600px;margin:60px auto;padding:24px}.skip-link{position:fixed;top:-100px;left:12px;z-index:70;background:var(--card);color:var(--text);padding:12px}.skip-link:focus{top:10px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1400px){.shell{padding-top:10px}}@media(max-width:950px){.shell{padding:0 22px 36px}.dashboard{grid-template-columns:minmax(0,1fr) 275px;gap:18px}.card{padding:19px}.form-layout{grid-template-columns:1fr}.form-aside{display:none}.stat{padding:17px 19px}.goal-card h2{font-size:17px}.stats{gap:12px}}
@media(max-width:680px){.shell{padding:0 max(18px,env(safe-area-inset-left)) calc(104px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-right))}.header{min-height:78px;gap:6px}.brand{gap:10px}.brand-mark{width:36px;height:36px;border-radius:11px;font-size:25px}.brand-name{font-size:16px}.brand-sub{font-size:9px}.header-actions{gap:8px}.save-indicator{font-size:10px;gap:5px}.icon-button{width:43px;height:43px}.navigation{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;justify-content:space-around;gap:10px;margin:0;padding:8px max(12px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);border-bottom:0;background:var(--card)}.navigation button{flex:1;flex-direction:column;justify-content:center;gap:3px;min-height:52px;padding:6px 3px;border:0;border-radius:12px;font-size:11px;font-weight:500}.navigation button[aria-current=page]{background:var(--accent-soft)}.navigation .icon{width:22px;height:22px}.page-heading{margin:25px 0 20px;gap:12px}h1{font-size:24px;letter-spacing:-.04em;line-height:1.45}.eyebrow{font-size:9px;margin-bottom:8px}.subtitle{font-size:12px;margin-top:7px}.desktop-add{display:none}.stats{gap:9px;margin-bottom:18px}.stat{padding:12px 11px 13px;min-height:110px;border-radius:14px}.stat.featured{padding-top:10px}.stat-label{font-size:10px;white-space:nowrap}.stat-value{font-size:29px;margin:8px 0 5px;line-height:1.4}.stat-note{font-size:10px;line-height:1.55;letter-spacing:-.01em}.card{padding:19px;border-radius:18px}.stat.card{padding:12px 11px 13px}.stat.featured.card{padding-top:10px}.dashboard{grid-template-columns:1fr;gap:20px}.section-heading{margin-bottom:15px;gap:8px}.section-heading h2{font-size:18px}.section-heading .eyebrow{margin-bottom:6px}.chart-controls{gap:10px;margin-top:18px}.chart-controls select{font-size:12px;padding:11px 24px 11px 10px}.legend{font-size:10px;gap:7px 12px;margin-top:15px}.chart{min-height:242px}.chart-footnote{font-size:10px;line-height:1.8}.inspector{padding:14px;margin-top:13px;border-radius:13px}.inspector .micro{font-size:10px}.inspector-time{font-size:29px}.inspector-date{font-size:12px}.inspector-memo{font-size:12px}.inspector select{font-size:11px;padding:11px 28px 11px 10px}.comparison-note{font-size:10px}.side-stack{gap:15px}.goal-card{padding:22px 20px}.goal-card .section-heading h2{font-size:18px}.goal-card .goal-time{font-size:44px;margin-top:24px}.goal-time>span{font-size:12px}.goal-message{font-size:12px}.milestones summary{font-size:12px}.latest-card{display:none}.goal-button{margin-top:14px;min-height:51px;font-size:13px}.gentle-note{font-size:11px;line-height:1.9}.footer{font-size:9px;margin-top:26px;gap:7px}.footer span{font-size:9px}.welcome-note{padding:12px;gap:8px}.welcome-note strong{font-size:12px}.welcome-note .micro{font-size:10px}.welcome-note .text-button{font-size:12px}.welcome-note .icon{width:15px}.form-layout{gap:0}.run-form{padding:20px 17px}.time-inputs{gap:10px}.time-inputs input{height:88px;font-size:43px}.field-label{font-size:12px}.field{margin-bottom:22px}.save-button{margin-bottom:17px;min-height:53px}.optional-details summary{font-size:12px;gap:2px}.optional-details summary>.optional{font-size:9px;margin-left:4px}.optional-details .expand-mark{font-size:20px}.draft-status{font-size:10px;margin-bottom:17px}.optional-content .field-label{font-size:12px}.form-bottom{flex-wrap:wrap;gap:0}.form-bottom>.micro{font-size:10px}.form-bottom .text-button{margin-left:auto}.history-filters{flex-direction:column;gap:10px}.history-filters>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.history-filters select{min-width:0}.page-heading>.button{padding:10px 12px;font-size:12px;min-height:43px;flex-shrink:0}.page-heading>.button>.icon{width:17px}.run-item{padding:16px 17px}.run-time{font-size:29px}.run-date{font-size:13px}.run-memo{font-size:12px}.run-actions{gap:20px}.run-item .micro{font-size:10px}.undo-note{padding:12px;font-size:12px}.undo-note strong{font-size:12px}.undo-note .text-button{font-size:11px}.conversions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.conversions strong{font-size:26px}.settings-grid{grid-template-columns:1fr;gap:18px}.settings-card{padding:20px 18px}.settings-card h2{font-size:18px}.settings-card>.caption{font-size:12px}.settings-card .button{min-height:48px;font-size:13px}.settings-card details>.caption{font-size:12px}.modal{padding:20px 17px;border-radius:20px;max-height:calc(100dvh - 30px)}.modal-heading h2{font-size:19px}.modal .caption{font-size:12px}.modal-actions{gap:8px}.modal-actions>.button{padding:11px 13px;font-size:13px}.modal .fields.two{gap:12px}.mode-choice{padding:12px;gap:9px}.mode-choice strong{font-size:12px}.mode-choice .micro{font-size:10px}.toast{bottom:calc(82px + env(safe-area-inset-bottom));font-size:12px;padding:9px 8px 9px 14px;gap:8px}.toast>span{max-width:280px}.update-banner{padding:12px}.update-banner strong{font-size:12px}.update-banner>.button{white-space:nowrap;font-size:12px}.offline-banner{font-size:11px}.notice{font-size:12px}.pagination .button{padding:10px 13px}}
@media(max-width:350px){.shell{padding-left:12px;padding-right:12px}.brand-sub{font-size:8px}.brand-name{font-size:15px}.header-actions{gap:6px}.save-indicator{font-size:9px}.brand{gap:8px}.stat.card{padding:12px 8px}.stat-label{font-size:9px}.stat-note{font-size:9px}.stat-value{font-size:28px}.card{padding:15px}.goal-card{padding:20px 17px}.chart-controls{gap:8px}.chart-controls select{font-size:11px;padding-left:8px}.legend{font-size:9px;gap:8px}h1{font-size:22px}.optional-details summary{flex-wrap:wrap}.choice span{font-size:12px;padding:8px 11px}.brand-mark{width:32px;height:32px}.time-inputs input{font-size:38px}}
@media(prefers-reduced-motion:no-preference){.button,.navigation button,.text-button{transition:background .15s,color .15s}main>section{animation:appear .15s ease-out}@keyframes appear{from{opacity:.7;transform:translateY(3px)}to{opacity:1;transform:none}}}

/* Keep native input controls at 16px on iPhone to avoid focus zoom. */
@media(max-width:680px){.chart-controls select,.inspector select,.history-filters select,select{font-size:16px}.chart-controls select{letter-spacing:-.045em}.navigation button{min-height:52px}.run-actions>.text-button{min-height:44px}.icon-button{min-width:44px;min-height:44px}}

.form-controls{border:0;margin:0;padding:0;min-width:0}
