.page{animation:none!important}button,summary{-webkit-tap-highlight-color:transparent}.status-complete{border:1px solid #244b38!important;background:#244b38!important}.status-partial{border:1px solid #244b38!important;background:#244b3880!important}.status-rest{border:1px solid #244b38!important;background:#244b381a!important}.status-missed{border:2px solid #244b38!important;background:transparent!important}.status-empty{border:1px solid #cad3cc!important;background:transparent!important}.choice-button[data-key=rehab_status].is-selected{border-color:#244b38!important;color:#183326!important;box-shadow:none!important}.choice-button[data-key=rehab_status][data-value=complete].is-selected{background:#244b38!important;color:#fff!important}.choice-button[data-key=rehab_status][data-value=partial].is-selected{background:#244b3880!important}.choice-button[data-key=rehab_status][data-value=rest].is-selected{background:#244b381a!important}.choice-button[data-key=rehab_status][data-value=missed].is-selected{border:2px solid #244b38!important;background:transparent!important}.choice-button[data-key=rehab_feeling].tone-red.is-selected{border-color:#244b38!important;background:#244b381a!important;color:#183326!important;box-shadow:none!important}.finance-actions{flex-wrap:wrap}.withdrawal-gauge{margin:12px 0 18px;padding:16px;border:1px solid #d9e1db;border-radius:16px;background:#f8faf8}.gauge-reading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.gauge-reading strong{color:#183326;font-size:1.4rem}.gauge-reading span{color:#52645a;font-size:.88rem}.gauge-track{position:relative;display:grid;grid-template-columns:50fr 20fr 10fr 20fr;height:14px;overflow:visible;border:1px solid #244b38;border-radius:999px;background:#fff}.gauge-zone:first-child{border-radius:999px 0 0 999px}.gauge-zone:last-of-type{border-radius:0 999px 999px 0}.zone-one{background:#244b3838}.zone-two{background:#244b386b}.zone-three{background:#244b38a3}.zone-four{background:#244b38}.gauge-marker{position:absolute;top:-6px;width:4px;height:24px;border-radius:3px;background:#101a14;box-shadow:0 0 0 2px #fff;transition:left .22s ease-out}.gauge-labels{display:grid;grid-template-columns:50fr 20fr 10fr 20fr;margin-top:8px;color:#68776e;font-size:.72rem}.gauge-labels span:first-child{justify-self:start}.gauge-labels span:nth-child(2),.gauge-labels span:nth-child(3),.gauge-labels span:nth-child(4){justify-self:end;transform:translate(50%)}.gauge-labels span:last-child{justify-self:end;grid-column:4}.panel-heading,.history-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-heading>div,.history-header>div{display:grid;gap:4px}.panel-heading span,.history-header span{color:#68776e;font-size:.84rem}.withdrawal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.withdrawal-fields .field-wide{grid-column:1 / -1}.withdrawal-history{margin-top:16px;padding-top:16px;border-top:1px solid #e1e6e2}.snapshot-row{grid-template-columns:minmax(0,1fr) auto!important}.row-actions{display:flex;align-items:center;gap:8px}.row-actions button,.history-toggle{min-height:38px}.delete-button,.history-toggle{padding:8px 12px;border:1px solid #cbd5ce;border-radius:10px;background:#fff;color:#405248;cursor:pointer}.delete-button:hover,.history-toggle:hover{border-color:#879a8e;background:#f3f6f4}.history-toggle{width:100%;margin-top:10px}@media(max-width:620px){.withdrawal-fields{grid-template-columns:1fr}.withdrawal-fields .field-wide{grid-column:auto}.snapshot-row{align-items:flex-start}.row-actions{flex-direction:column;align-items:stretch}.row-actions button{min-width:62px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.cloud-section{border-color:#b9c9be;background:linear-gradient(145deg,#fff,#f4f8f5)}.cloud-section .settings-heading{position:relative;padding-right:92px}.cloud-status{position:absolute;top:0;right:0;display:inline-flex;align-items:center;min-height:32px;padding:5px 10px;border:1px solid #9caf9f;border-radius:999px;background:#fff;color:#244b38;font-size:.78rem;font-weight:700}.cloud-status.is-syncing,.cloud-status.is-sending_link{background:#244b381a}.cloud-status.is-synced{background:#244b38;color:#fff}.cloud-status.is-error{border-width:2px;background:transparent}.cloud-message{margin-bottom:14px;color:#52645a;font-size:.88rem}.cloud-empty,.cloud-account>div:first-child{display:grid;gap:5px}.cloud-empty span,.cloud-account span,.cloud-account small,.cloud-help{color:#68776e;font-size:.84rem}.cloud-login{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.cloud-login button{min-height:44px}.cloud-account{display:flex;align-items:center;justify-content:space-between;gap:16px}.cloud-help{margin:9px 0 0}@media(max-width:620px){.cloud-login{grid-template-columns:1fr}.cloud-account{align-items:stretch;flex-direction:column}.cloud-account .button-row{width:100%}}:root{color-scheme:light;--bg: #f3f3ee;--paper: #fffef9;--paper-2: #f8f8f3;--ink: #1e2822;--muted: #68716b;--line: #dce1da;--line-strong: #bcc6bd;--green: #2e7049;--green-deep: #244b38;--green-soft: #e6f1e9;--amber: #a86413;--amber-soft: #fbf0dc;--red: #a9433c;--red-soft: #f7e9e6;--blue: #3b5b7e;--blue-soft: #e8eef5;--shadow: 0 16px 44px rgba(31, 42, 36, .065);--radius: 20px;--sans: -apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif;--serif: "Songti TC", "Noto Serif TC", "Source Han Serif TC", serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-width:320px;background:radial-gradient(circle at 15% -10%,rgba(226,184,111,.1),transparent 30rem),var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}button,input,textarea,select{color:inherit;font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(46,112,73,.22);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.38}h1,h2,h3,h4,p{margin-top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{width:min(100%,1040px);margin:0 auto;padding:0 18px calc(72px + env(safe-area-inset-bottom))}.app-header{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:26px;margin:0 -18px 28px;padding:calc(18px + env(safe-area-inset-top)) 18px 13px;border-bottom:1px solid rgba(220,225,218,.9);background:#f3f3eee8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.eyebrow{color:var(--muted);font:700 10px/1.3 var(--mono);letter-spacing:.18em}.brand-row{display:flex;align-items:baseline;gap:14px}.brand-row h1{margin:3px 0 0;font:700 25px/1.2 var(--serif)}.save-indicator{font-size:11px;font-weight:700}.save-indicator.is-saved{color:var(--green)}.save-indicator.is-saving{color:var(--amber)}.save-indicator.is-error{color:var(--red)}.main-tabs,.period-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:13px;background:#fffef9bd}.main-tabs button,.period-tabs button{min-height:38px;padding:7px 13px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:13px;font-weight:800;white-space:nowrap}.main-tabs button.is-active,.period-tabs button.is-active{background:var(--green-deep);color:#fff;box-shadow:0 4px 12px #244b382e}.page{animation:page-in .18s ease-out}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.alert{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:12px 14px;border:1px solid #e2b8b3;border-radius:13px;background:var(--red-soft);color:var(--red);font-size:13px}.alert span{flex:1}.date-navigator{margin-bottom:18px;padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:#fffef9e0;box-shadow:var(--shadow)}.date-toolbar{display:grid;grid-template-columns:42px minmax(0,1fr) auto 42px;align-items:center;gap:8px;margin-bottom:12px}.icon-button{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:11px;background:var(--paper);font-size:22px}.month-jump{position:relative;display:grid;min-height:42px;place-items:center;border-radius:11px;background:var(--paper-2);color:var(--ink);font-size:14px;font-weight:800;cursor:pointer}.month-jump input{position:absolute;inset:0;opacity:0;cursor:pointer}.today-button,.text-button{border:0;background:transparent;color:var(--green);font-size:13px;font-weight:800}.today-button{min-height:42px;padding:0 10px}.date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.date-tile{position:relative;display:grid;min-height:73px;place-items:center;gap:1px;padding:7px 3px 9px;border:1px solid var(--line);border-radius:12px;background:var(--paper);transition:.15s ease}.date-tile:hover:not(:disabled){border-color:var(--line-strong);transform:translateY(-1px)}.date-tile.is-selected{border-color:var(--green-deep);background:var(--green-deep);color:#fff;box-shadow:0 7px 16px #244b382e}.date-tile.is-today:not(.is-selected):after{content:"今";position:absolute;top:5px;right:6px;color:var(--green);font-size:9px;font-weight:900}.date-weekday{color:var(--muted);font-size:11px;font-weight:800}.date-tile.is-selected .date-weekday{color:#ffffffb3}.date-tile strong{font:700 19px/1.1 var(--mono)}.date-dot{width:5px;height:5px;border-radius:50%;background:transparent}.date-dot.has-record{background:var(--green)}.date-tile.is-selected .date-dot.has-record{background:#e2b86f}.selected-date-line{display:flex;justify-content:space-between;gap:12px;margin-top:11px;color:var(--muted);font-size:12px}.selected-date-line strong{color:var(--ink)}.daily-cards{display:grid;gap:14px}.dashboard-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}.card-header{display:grid;width:100%;grid-template-columns:38px minmax(0,1fr) 34px;align-items:start;gap:10px;padding:18px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.is-collapsed .card-header{border-bottom-color:transparent}.card-header:hover{background:var(--paper-2)}.card-number,.settings-heading>span,.report-heading>div>span{color:var(--green);font:800 11px/1.3 var(--mono);letter-spacing:.08em}.card-number{padding-top:7px}.card-heading{display:grid}.card-heading strong{font:700 22px/1.25 var(--serif)}.card-heading small{margin-top:3px;color:var(--muted);font-size:12.5px;font-weight:500}.card-chevron{color:var(--muted);font-size:18px;text-align:center}.card-body{padding:3px 18px 21px}.form-section{padding-top:18px}.form-section+.form-section{margin-top:18px;border-top:1px dashed var(--line)}.section-title{margin-bottom:9px;font-size:14px;font-weight:850}.section-kicker{margin-bottom:7px;color:var(--green);font:800 10px/1.3 var(--mono);letter-spacing:.12em}.field-hint{margin:-5px 0 10px;color:var(--muted);font-size:12px}.choice-grid{display:grid;gap:8px}.choice-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-button,.score-button{min-height:44px;border:1px solid var(--line);border-radius:11px;background:var(--paper-2);font-size:13px;font-weight:800}.choice-button:hover,.score-button:hover{border-color:var(--line-strong)}.choice-button.is-selected,.score-button.is-selected{border-color:#91bea2;background:var(--green-soft);color:var(--green);box-shadow:inset 0 0 0 1px #2e704921}.choice-button.tone-red.is-selected{border-color:#d8aaa5;background:var(--red-soft);color:var(--red)}.score-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.score-button{padding:6px 2px;font-family:var(--mono)}.nested-field{margin-top:12px;padding:12px;border-radius:12px;background:var(--paper-2)}.counter-grid,.finance-fields,.two-column-fields,.chart-grid,.custom-period,.settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.counter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.counter-box{display:grid;gap:8px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);text-align:center}.counter-box>span{min-height:39px;color:var(--muted);font-size:12px;font-weight:800}.counter-controls{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:4px}.counter-controls button{height:34px;border:1px solid var(--line);border-radius:9px;background:var(--paper);font-size:18px}.counter-controls strong{font:800 18px/1 var(--mono)}.field-label{display:grid;align-content:start;gap:6px}.field-label>span{color:var(--muted);font-size:12px;font-weight:800}.form-input{width:100%;min-height:43px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;outline:0;background:var(--paper-2)}textarea.form-input{min-height:88px;resize:vertical}.form-input:focus{border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #2e704914}.optional-stack{display:grid;gap:6px;margin-top:10px}.optional-field{padding:7px 0}.optional-field summary{color:var(--green);font-size:13px;font-weight:800;cursor:pointer;list-style:none}.optional-field summary::-webkit-details-marker{display:none}.optional-field .form-input{margin-top:8px}.work-list{display:grid;gap:8px}.work-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.remove-button{border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--muted);font-size:18px}.add-button{width:100%;margin-top:9px;padding:10px 13px;border:1px dashed #91bea2;border-radius:11px;background:var(--green-soft);color:var(--green);font-weight:850}.finance-status-row,.button-row,.settings-actions,.range-heading,.page-title-row,.period-nav{display:flex;align-items:center;gap:9px}.finance-status-row{justify-content:space-between;padding:15px 0 10px;color:var(--muted);font-size:12px}.status-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:850}.status-pill.tone-amber{background:var(--amber-soft);color:var(--amber)}.status-pill.tone-red{background:var(--red-soft);color:var(--red)}.status-pill.tone-neutral{background:var(--blue-soft);color:var(--blue)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.metric-card{display:grid;gap:3px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}.metric-card strong{overflow:hidden;font:800 18px/1.3 var(--mono);text-overflow:ellipsis}.metric-card span{color:var(--muted);font-size:11.5px}.button-row{flex-wrap:wrap;margin-top:13px}.primary-button,.secondary-button,.danger-button{min-height:42px;padding:9px 14px;border-radius:10px;font-size:13px;font-weight:850}.primary-button{border:1px solid var(--green-deep);background:var(--green-deep);color:#fff}.secondary-button{border:1px solid var(--line);background:var(--paper)}.danger-button{border:1px solid #dfb7b2;background:var(--red-soft);color:var(--red)}.empty-inline,.chart-empty{display:grid;place-items:center;gap:3px;min-height:104px;color:var(--muted);font-size:13px;text-align:center}.empty-inline strong{color:var(--ink)}.finance-panel{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}.finance-verdict{margin-top:13px;padding:13px 14px;border-left:3px solid var(--green);border-radius:0 11px 11px 0;background:var(--green-soft)}.finance-verdict.tone-amber{border-color:var(--amber);background:var(--amber-soft)}.finance-verdict.tone-red{border-color:var(--red);background:var(--red-soft)}.finance-verdict.tone-neutral{border-color:var(--blue);background:var(--blue-soft)}.finance-verdict>strong{font-family:var(--serif)}.finance-verdict p{margin:7px 0 0;font-size:12.5px}.snapshot-list{margin-top:18px}.snapshot-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.snapshot-row>div{display:grid}.snapshot-row span{color:var(--muted);font-size:12px}.page-title-row{justify-content:space-between;align-items:flex-end;margin-bottom:22px}.page-title-row h2{margin:4px 0 3px;font:700 32px/1.25 var(--serif)}.page-title-row p{margin:0;color:var(--muted);font-size:13px}.period-nav{padding:5px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.period-nav strong{min-width:116px;font-size:13px;text-align:center}.report-metrics{margin-bottom:18px}.report-section,.trend-section,.settings-section{margin-top:15px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}.report-heading,.settings-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:13px;border-bottom:1px solid var(--line)}.report-heading>div,.settings-heading{align-items:baseline}.report-heading>div,.settings-heading>div{display:flex;align-items:baseline;gap:10px}.report-heading h3,.settings-heading h3{margin:0;font:700 20px/1.3 var(--serif)}.report-heading p,.settings-heading p{margin:0;color:var(--muted);font-size:12px;text-align:right}.settings-heading{justify-content:flex-start}.settings-heading>div{display:block}.settings-heading p{margin-top:2px;text-align:left}.status-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:13px}.status-day{display:grid;place-items:center;gap:3px;min-width:0;padding:9px 3px;border-radius:11px;background:var(--paper-2)}.status-day>span,.status-day small{color:var(--muted);font-size:10.5px}.status-day strong{font-family:var(--mono)}.status-mark{display:block;width:12px;height:12px;border-radius:50%}.status-complete{background:var(--green)}.status-partial{background:#78a887}.status-rest{background:var(--blue)}.status-missed{background:var(--red)}.status-empty{background:#d9ddd7}.chart-grid{align-items:stretch}.chart-card{min-width:0;padding:14px;border-radius:14px;background:var(--paper-2)}.chart-card-wide{grid-column:1 / -1}.chart-card h4{margin:0 0 9px;font-size:13px}.line-chart{display:block;width:100%;height:auto;overflow:visible}.chart-axis,.chart-grid-line{stroke:var(--line-strong);stroke-width:1}.chart-grid-line{stroke:var(--line)}.chart-line{fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:var(--paper);stroke:var(--green);stroke-width:3}.chart-label{fill:var(--muted);font:11px var(--sans)}.stacked-bars,.simple-bars{display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:10px;height:168px;padding:8px 4px 0}.stacked-column,.simple-column{display:grid;height:100%;grid-template-rows:minmax(0,1fr) auto auto;justify-items:center;gap:3px}.stacked-track{display:flex;width:min(32px,70%);height:100%;flex-direction:column-reverse;justify-content:flex-start;overflow:hidden;border-radius:7px 7px 3px 3px;background:#e5e8e2}.stacked-track i{display:block;width:100%}.meal-healthy{background:var(--green)}.meal-unhealthy{background:var(--amber)}.meal-snack{background:var(--red)}.stacked-column strong,.simple-column strong{font:700 11px/1 var(--mono)}.stacked-column span,.simple-column span{color:var(--muted);font-size:10px}.chart-legend,.heatmap-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;color:var(--muted);font-size:11px}.chart-legend span,.heatmap-legend span{display:inline-flex;align-items:center;gap:5px}.chart-legend i,.heatmap-legend i{display:inline-block;width:9px;height:9px;border-radius:3px}.simple-column i{align-self:end;width:min(32px,70%);min-height:4px;border-radius:7px 7px 3px 3px;background:var(--green)}.note-timeline{display:grid;gap:0}.note-timeline>div{display:grid;grid-template-columns:40px 42px minmax(0,1fr);gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.note-timeline time,.note-timeline span{color:var(--muted);font-size:11px}.note-timeline p{margin:0;font-size:12.5px}.comparison-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:172px;text-align:center}.comparison-row>div:not(.comparison-arrow){display:grid;gap:4px}.comparison-row strong{font:800 35px/1 var(--mono)}.comparison-row span,.comparison-arrow{color:var(--muted);font-size:12px}.fact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0;padding:0;list-style:none}.fact-list li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px}.fact-list time{color:var(--muted);font:11px/1.7 var(--mono)}.feedback-panel{display:grid;grid-template-columns:minmax(180px,.7fr) 1.3fr;gap:24px;margin-top:15px;padding:20px;border-radius:var(--radius);background:var(--green-deep);color:#fff}.feedback-panel span{color:#ffffffa6;font:800 10px/1.3 var(--mono);letter-spacing:.12em}.feedback-panel h3{margin:5px 0 0;font:700 22px/1.3 var(--serif)}.feedback-panel ul{margin:0;padding-left:19px;font-size:13px}.feedback-panel li+li{margin-top:7px}.period-tabs{width:fit-content;max-width:100%;margin-bottom:13px;overflow-x:auto}.custom-period{max-width:520px;margin-bottom:13px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.range-heading{justify-content:space-between;margin:14px 0 12px}.range-heading strong{font-family:var(--mono);font-size:13px}.range-heading span{color:var(--muted);font-size:12px}.heatmap{display:grid;grid-template-columns:repeat(28,1fr);gap:4px}.heatmap i{aspect-ratio:1;min-width:3px;border-radius:3px}.trend-chart-grid{margin-top:15px}.tracker-manager{display:grid;gap:20px}.tracker-group h4,.add-tracker-panel h4{margin:0 0 8px;font-family:var(--serif);font-size:16px}.tracker-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto 48px;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.tracker-row.is-disabled{opacity:.55}.tracker-main{display:grid;grid-template-columns:minmax(0,1fr) 82px;align-items:center;gap:8px}.tracker-main>span{color:var(--muted);font-size:11px}.tracker-name-input{min-height:38px;padding:7px 9px}.compact-check{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px;cursor:pointer}.compact-check input{accent-color:var(--green)}.add-tracker-panel{margin-top:20px;padding:15px;border-radius:14px;background:var(--paper-2)}.add-tracker-fields{display:grid;grid-template-columns:.75fr 1fr 1fr auto;align-items:end;gap:9px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px;padding:12px 0;cursor:pointer}.switch-row>span{display:grid}.switch-row small{color:var(--muted);font-size:11.5px}.switch-row input{position:absolute;opacity:0}.switch-row i{position:relative;width:46px;height:26px;flex:0 0 auto;border-radius:999px;background:#cbd1cb;transition:.2s}.switch-row i:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000002b;transition:.2s}.switch-row input:checked+i{background:var(--green)}.switch-row input:checked+i:after{transform:translate(20px)}.pwa-note{display:flex;gap:12px;margin-top:6px;padding:13px;border-radius:13px;background:var(--blue-soft)}.pwa-note>div{display:grid}.pwa-note p{margin:1px 0 0;color:var(--muted);font-size:12px}.settings-actions{flex-wrap:wrap}.toast{position:fixed;z-index:100;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));max-width:calc(100% - 28px);padding:10px 14px;border-radius:10px;background:#1e2822;color:#fff;box-shadow:0 12px 34px #0003;font-size:13px;transform:translate(-50%)}@media(max-width:820px){.app-header{grid-template-columns:1fr;align-items:stretch;gap:11px}.main-tabs{display:grid;grid-template-columns:repeat(4,1fr)}.main-tabs button{padding-inline:6px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.add-tracker-fields{grid-template-columns:1fr 1fr}.heatmap{grid-template-columns:repeat(21,1fr)}}@media(max-width:620px){.app-shell{padding-inline:10px}.app-header{margin-inline:-10px;padding-inline:10px}.brand-row{display:grid;gap:2px}.brand-row h1{font-size:22px}.save-indicator{font-size:10.5px}.main-tabs button{min-height:42px;font-size:11.5px}.date-navigator{padding:10px}.date-toolbar{grid-template-columns:38px minmax(0,1fr) auto 38px}.icon-button{width:38px;height:38px}.month-jump,.today-button{min-height:38px}.date-grid{gap:4px}.date-tile{min-height:64px;border-radius:10px}.date-tile strong{font-size:16px}.selected-date-line{display:grid;gap:0}.card-header,.card-body,.report-section,.trend-section,.settings-section,.feedback-panel{padding-left:14px;padding-right:14px}.choice-grid-4,.choice-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.counter-grid,.two-column-fields,.finance-fields,.chart-grid,.custom-period,.settings-fields{grid-template-columns:1fr}.counter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.counter-box{padding:8px 5px}.counter-controls{grid-template-columns:30px 1fr 30px}.chart-card-wide{grid-column:auto}.page-title-row{display:grid;gap:13px}.page-title-row h2{font-size:28px}.period-nav{width:100%;justify-content:space-between}.report-heading{display:grid;gap:3px}.report-heading p{text-align:left}.fact-list{grid-template-columns:1fr}.feedback-panel{grid-template-columns:1fr;gap:13px}.tracker-row{grid-template-columns:1fr auto auto}.tracker-main{grid-column:1 / -1}.tracker-row .text-button{justify-self:end}.add-tracker-fields{grid-template-columns:1fr}.heatmap{grid-template-columns:repeat(14,1fr)}}@media(max-width:390px){.main-tabs button{font-size:10.5px}.today-button{padding-inline:3px;font-size:11px}.date-weekday{font-size:10px}.counter-grid{grid-template-columns:1fr}.counter-box{grid-template-columns:1fr 120px;align-items:center;text-align:left}.counter-box>span{min-height:0}.metric-card strong{font-size:15px}.status-day small{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.reminder-section .settings-heading{position:relative;padding-right:92px}.reminder-status{position:absolute;top:0;right:0}.reminder-actions{margin-top:4px}.reminder-actions button:disabled{cursor:not-allowed;opacity:.48}.pwa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.pwa-grid .pwa-note{margin-top:0}@media(max-width:620px){.pwa-grid{grid-template-columns:1fr}.reminder-section .settings-heading{padding-right:0}.reminder-status{position:static;width:fit-content;margin-top:8px}}
