:root{--fs-display:34px;--fs-title:24px;--fs-body:20px;--fs-label:17px;--fs-meta:15px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;--tap:44px;--press-scale:.97;--press-time:90ms;--veil-hover:#1917140f;--veil-press:#1917141f;--veil-hover-on-accent:#1917141f;--veil-press-on-accent:#1917143d;--font-round:"Hiragino Maru Gothic ProN", "HG Maru Gothic M-PRO", system-ui, "Hiragino Sans", "Noto Sans JP", sans-serif;--bg:#f3eee5;--surface:#fffdfa;--border:#e2dbcc;--text:#3d3a34;--text-strong:#191714;--accent:#9a5325;--carrot:#d97a2b;--on-accent:#fff;--leaf:#6a9b3f;--good:#5f8f3a;--good-text:#47762a;--good-bg:#5f8f3a1f;--tint:#9a532514;--scrim:#191714a6;--on-scrim:#fff;--danger:#bf3a3a;--shadow-1:0 1px 2px #3c2d190d, 0 4px 14px #3c2d190d;font:var(--fs-body) / 1.6 system-ui, "Hiragino Sans", "Noto Sans JP", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14120f;--surface:#201d18;--border:#3a352e;--text:#c9c4bc;--text-strong:#f2efe9;--accent:#d08a55;--carrot:#e39a5c;--on-accent:#1b1917;--leaf:#8fbf6a;--good:#8fbf6a;--good-text:#a8d183;--good-bg:#8fbf6a26;--tint:#d08a551f;--danger:#e8706e;--shadow-1:none;--veil-hover:#ffffff12;--veil-press:#ffffff24;--veil-hover-on-accent:#ffffff1f;--veil-press-on-accent:#ffffff3d}body{margin:0}#root{box-sizing:border-box;max-width:640px;min-height:100svh;margin:0 auto}h1,h2{color:var(--text-strong);font-weight:600;font-family:var(--font-round)}.screen>h1{font-size:var(--fs-title);margin:0 0 var(--sp-3)}.screen-header h1,.screen-header h2{font-size:inherit;margin:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}button{font:inherit;color:var(--text-strong);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-4);-webkit-tap-highlight-color:transparent;background:0 0}button:not(:disabled){cursor:pointer;transition:transform var(--press-time) ease-out, box-shadow var(--press-time) ease-out}@media (hover:hover){button:not(:disabled):hover{box-shadow:inset 0 0 0 100vmax var(--veil-hover)}}button:not(:disabled):active{transform:scale(var(--press-scale));box-shadow:inset 0 0 0 100vmax var(--veil-press)}@media (hover:hover){button.primary:not(:disabled):hover,.chip.primary-chip:not(:disabled):hover,.chip[aria-pressed=true]:not(:disabled):hover,.segmented button[aria-pressed=true]:not(:disabled):hover,.app-header .screen-header>button:not(:disabled):hover{box-shadow:inset 0 0 0 100vmax var(--veil-hover-on-accent)}}button.primary:not(:disabled):active,.chip.primary-chip:not(:disabled):active,.chip[aria-pressed=true]:not(:disabled):active,.segmented button[aria-pressed=true]:not(:disabled):active,.app-header .screen-header>button:not(:disabled):active{box-shadow:inset 0 0 0 100vmax var(--veil-press-on-accent)}.concern-list .row a,.visit .card-head h2 a{border-radius:var(--r-sm);-webkit-tap-highlight-color:transparent;transition:transform var(--press-time) ease-out, box-shadow var(--press-time) ease-out}@media (hover:hover){.concern-list .row a:hover,.visit .card-head h2 a:hover{box-shadow:inset 0 0 0 100vmax var(--veil-hover)}}.concern-list .row a:active,.visit .card-head h2 a:active{transform:scale(var(--press-scale));box-shadow:inset 0 0 0 100vmax var(--veil-press)}@media (prefers-reduced-motion:reduce){button:not(:disabled),.concern-list .row a,.visit .card-head h2 a{transition:none}button:not(:disabled):active,.concern-list .row a:active,.visit .card-head h2 a:active{transform:none}}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}input,textarea{font:inherit;color:var(--text-strong);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);box-sizing:border-box;background:0 0;width:100%}.screen{padding:calc(var(--sp-4) + env(safe-area-inset-top)) var(--sp-4) calc(96px + env(safe-area-inset-bottom));box-sizing:border-box;background-image:radial-gradient(var(--tint) 1px, transparent 1px);background-size:var(--sp-5) var(--sp-5);min-height:100svh}.screen.banded{padding-top:0}.swipe-pane{touch-action:pan-y pinch-zoom;transition:transform .18s ease-out}.swipe-pane.dragging{transition:none}@media (prefers-reduced-motion:reduce){.swipe-pane{transition:none}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field{margin-bottom:var(--sp-4)}.field label,.field .field-label{font-size:var(--fs-label);margin-bottom:var(--sp-1);display:block}.field-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.save-state{font-size:var(--fs-meta);color:var(--text);opacity:.7;white-space:nowrap}.save-state.saved{color:var(--accent);opacity:1;animation:.64s ease-out saved-badge}@keyframes saved-badge{0%{opacity:0;transform:scale(.5)rotate(-8deg)}50%{opacity:1;transform:scale(1.35)rotate(5deg)}75%{transform:scale(.94)rotate(-2deg)}to{opacity:1;transform:scale(1)rotate(0)}}.save-failure{align-items:center;gap:var(--sp-2);margin:var(--sp-1) 0 0;display:flex}.save-failure .error{margin:0}button.retry{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-meta);border-radius:var(--r-pill)}.field .row{align-items:center;gap:var(--sp-2);display:flex}.field .row>button{white-space:nowrap;flex:none}.field .row>button.value{flex:1;width:auto;min-width:0}.input-wrap{flex:1;min-width:0;position:relative}.input-wrap input{padding-right:30px}.input-wrap .unit{right:var(--sp-3);font-size:var(--fs-label);color:var(--text);opacity:.75;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}input[aria-invalid=true]{border-color:var(--danger)}button.voice{min-width:var(--tap);min-height:var(--tap);border-radius:var(--r-pill);color:var(--accent);border-color:var(--accent);justify-content:center;align-items:center;padding:0;display:inline-flex}button.voice.listening{color:var(--on-accent);background:var(--carrot);border-color:var(--carrot);animation:1.4s ease-out infinite voice-ring}button.voice.listening:active{background-image:linear-gradient(var(--veil-press-on-accent), var(--veil-press-on-accent))}.field .row.listening .input-wrap input,.field .row.listening .value{border-color:var(--carrot)}@keyframes voice-ring{0%{box-shadow:0 0 #d97a2b80}to{box-shadow:0 0 0 12px #d97a2b00}}.voice-notice{align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-2);font-size:var(--fs-meta);color:var(--text);flex-wrap:wrap;display:flex}.voice-notice .chip{margin-left:auto}.voice-status{align-items:center;gap:var(--sp-2);margin:var(--sp-2) 0 0;font-size:var(--fs-meta);color:var(--carrot);flex-wrap:wrap;display:flex}.voice-status .chip{margin-left:auto}.voice-wave{align-items:center;gap:3px;height:18px;display:inline-flex}.voice-wave i{background:var(--carrot);border-radius:2px;width:3px;height:6px;animation:1s ease-in-out infinite voice-wave}.voice-wave i:nth-child(2){animation-delay:.15s}.voice-wave i:nth-child(3){animation-delay:.3s}@keyframes voice-wave{50%{height:16px}}.heard{align-items:center;gap:var(--sp-2);margin:var(--sp-2) 0 0;font-size:var(--fs-meta);flex-wrap:wrap;display:flex}.heard-value{color:var(--text)}@media (prefers-reduced-motion:reduce){button.voice.listening,.voice-wave i{animation:none}}.save-confirm{align-items:center;gap:var(--sp-2);margin:var(--sp-2) 0 0;font-size:var(--fs-meta);flex-wrap:wrap;display:flex}.save-confirm-message{color:var(--danger)}.chip{justify-content:center;align-items:center;gap:var(--sp-1);border-radius:var(--r-pill);min-height:var(--tap);padding:0 var(--sp-4);font-size:var(--fs-label);color:var(--accent);border-color:var(--accent);white-space:nowrap;display:inline-flex}.chip.primary-chip{color:var(--on-accent);background:var(--accent)}.chip[aria-pressed=true]{color:var(--on-accent);background:var(--accent);font-weight:600}.chip.ghost{color:var(--text);border-color:var(--border)}.note{font-size:var(--fs-meta);color:var(--text);margin:var(--sp-1) 0 0}.note strong{color:var(--text-strong);font-variant-numeric:tabular-nums;font-weight:600}.error{font-size:var(--fs-meta);color:var(--danger);margin:var(--sp-1) 0 0}.badge{font-size:var(--fs-label);color:var(--accent);border:1px solid var(--accent);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3);display:inline-block}.screen-header{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.app-header .screen-header{width:100%;min-height:var(--tap);margin-bottom:0}.screen-header>button{min-width:var(--tap);min-height:var(--tap);color:var(--accent);background:0 0;border-color:#0000}.screen-header>button:disabled{color:var(--text);opacity:.35}.app-header{z-index:5;background:var(--accent);color:var(--on-accent);border-radius:0 0 var(--r-lg) var(--r-lg);margin:0 calc(var(--sp-4) * -1) var(--sp-4);padding:calc(var(--sp-2) + env(safe-area-inset-top)) var(--sp-4) var(--sp-3);gap:var(--sp-2);flex-direction:column;display:flex;position:sticky;top:0}.app-header .screen-header h1,.app-header .screen-header h2,.app-header .screen-header>button,.app-header .screen-header>button:disabled{color:var(--on-accent)}.app-header-count{font-size:var(--fs-meta);color:var(--on-accent);opacity:.85}.app-header .chip{background:var(--bg);border-color:var(--bg);color:var(--accent);align-self:center}.record-header-title{align-items:center;gap:var(--sp-3);width:100%;display:flex}.record-header-face{width:calc(var(--tap) + var(--sp-3));height:calc(var(--tap) + var(--sp-3));background:var(--bg);border-radius:50%;flex:none;place-items:center;display:grid}.record-header-who{flex:1;min-width:0}.record-header-name{font-family:var(--font-round);font-size:var(--fs-body);color:var(--on-accent);font-weight:600;display:block}.record-header-meta{font-size:var(--fs-meta);color:var(--on-accent);opacity:.85}.app-header .meter-carrots{background:var(--surface);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3)}:root[data-theme=dark] .app-header{background:var(--surface);color:var(--text-strong);border-bottom:1px solid var(--border)}:root[data-theme=dark] .app-header .screen-header h1,:root[data-theme=dark] .app-header .screen-header h2,:root[data-theme=dark] .record-header-name{color:var(--text-strong)}:root[data-theme=dark] .app-header .screen-header>button{color:var(--accent)}:root[data-theme=dark] .app-header .screen-header>button:disabled{color:var(--text)}:root[data-theme=dark] .record-header-meta,:root[data-theme=dark] .app-header-count{color:var(--text);opacity:1}:root[data-theme=dark] .app-header .chip{border-color:var(--accent);background:0 0}:root[data-theme=dark] .app-header .meter-carrots{background:var(--bg)}.record-status{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.record-status:empty{display:none}.water .field:last-child{margin-bottom:0}.card .subhead{font-family:var(--font-round);margin:0 0 var(--sp-2);font-size:var(--fs-label);color:var(--text-strong);font-weight:600}.badge.pending{color:var(--text);border-color:var(--border)}.segmented{gap:var(--sp-1);margin-bottom:var(--sp-3);display:flex}.segmented button{border-radius:var(--r-pill);min-height:var(--tap);padding:0 var(--sp-3);font-size:var(--fs-label);white-space:nowrap;background:var(--surface);flex:1}.segmented button[aria-pressed=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}.chart-band{margin:0 calc(var(--sp-4) * -1);padding:var(--sp-2) var(--sp-4) var(--sp-3);background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.chart{width:100%;height:auto;margin-top:var(--sp-2)}.chart-grid{stroke:var(--border);stroke-width:1px}.chart-line{stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}.chart-dot{fill:var(--accent)}.chart-surface{width:100%;text-align:inherit;background:0 0;border:0;border-radius:0;padding:0;display:block}.chart-pick line{stroke:var(--text);stroke-width:1px;opacity:.5}.chart-pick circle{fill:none;stroke:var(--text-strong);stroke-width:2px}.picked{min-height:1.6em;margin:var(--sp-2) 0 0}.picked a{color:var(--accent);white-space:nowrap}.stats{gap:var(--sp-1) var(--sp-2);margin:var(--sp-3) 0 0;grid-template-columns:auto minmax(0,1fr);align-items:baseline;display:grid}.stats dt{color:var(--text);font-size:var(--fs-meta);white-space:nowrap}.stats dd{color:var(--text-strong);margin:0;font-weight:600}.stats-when{margin-left:var(--sp-2);color:var(--text);font-size:var(--fs-meta);font-weight:400}.chart-mean{stroke:var(--text);stroke-width:1px;stroke-dasharray:4 4;opacity:.7}.chart-raw-dot{fill:var(--accent);opacity:.3}.chart-label{fill:var(--text);font-size:var(--fs-meta)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:var(--sp-4);margin-bottom:var(--sp-4)}.card h2,.card h3{margin:0 0 var(--sp-2);font-size:var(--fs-body);color:var(--text-strong)}.card-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.card-head h2{margin:0}.card-progress{font-size:var(--fs-meta);color:var(--text);opacity:.75;font-weight:400}details.card>summary{font-family:var(--font-round);align-items:center;gap:var(--sp-2);min-height:var(--tap);font-size:var(--fs-body);color:var(--text-strong);cursor:pointer;border-radius:var(--r-sm);-webkit-tap-highlight-color:transparent;transition:box-shadow var(--press-time) ease-out;font-weight:600;list-style:none;display:flex}@media (hover:hover){details.card>summary:hover{box-shadow:inset 0 0 0 100vmax var(--veil-hover)}}details.card>summary:active{box-shadow:inset 0 0 0 100vmax var(--veil-press)}@media (prefers-reduced-motion:reduce){details.card>summary{transition:none}}details.card>summary::-webkit-details-marker{display:none}details.card>summary>h2{font:inherit;color:inherit;margin:0}details.card>summary .card-progress{margin-left:auto}details.card>summary:after{content:"▾";opacity:.6;font-weight:400}details.card[open]>summary{margin-bottom:var(--sp-3)}details.card[open]>summary:after{content:"▴"}.card>.field:last-child{margin-bottom:0}.tag-list{gap:var(--sp-1);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.tag{align-items:center;gap:var(--sp-1);border:1px solid var(--border);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-1) var(--sp-1) var(--sp-3);font-size:var(--fs-label);display:inline-flex}.tag button{padding:0 var(--sp-1);font-size:var(--fs-body);color:var(--text);border:0;line-height:1;position:relative}.tag button:after{content:"";width:var(--tap);height:var(--tap);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}ul.error{margin:var(--sp-2) 0 0;padding-left:18px}.segmented.photo-category{flex:1;margin-bottom:0}.concern-list{margin:0;padding:0;list-style:none}.concern-list li+li{margin-top:var(--sp-3);border-top:1px solid var(--border);padding-top:var(--sp-3)}.concern-memo{margin:0 0 var(--sp-1);color:var(--text-strong);white-space:pre-wrap}.concern-list .row a{min-height:var(--tap);font-size:var(--fs-meta);color:var(--accent);align-items:center;display:inline-flex}.visit-next{flex-wrap:wrap}.visit .card-head h2 a{min-height:var(--tap);color:inherit;align-items:center;display:inline-flex}.visit-facts{margin:0 0 var(--sp-2)}.visit-facts dt{color:var(--text);font-size:var(--fs-meta)}.visit-facts dd{margin:0 0 var(--sp-3);color:var(--text-strong);white-space:pre-wrap}.report-notes{margin:0 0 var(--sp-3);color:var(--text-strong);padding-left:18px}.report-notes li+li{margin-top:var(--sp-1)}.report-memos{margin:0 0 var(--sp-3);padding:0;list-style:none}.report-memos li+li{margin-top:var(--sp-2);border-top:1px solid var(--border);padding-top:var(--sp-2)}.report-memo-date{font-size:var(--fs-meta);color:var(--text);display:block}.report-memo-text{color:var(--text-strong);white-space:pre-wrap;display:block}.report-memos .badge{font-size:var(--fs-meta);padding:0 var(--sp-2)}.empty-state{align-items:center;gap:var(--sp-2);padding:var(--sp-5) 0;text-align:center;flex-direction:column;display:flex}.empty-state .note{margin:0}.gallery-grid{gap:var(--sp-1);margin-bottom:var(--sp-4);grid-template-columns:repeat(3,1fr);display:grid}.gallery-date{margin:var(--sp-3) 0 var(--sp-1)}.thumb{border-radius:var(--r-md);aspect-ratio:1;padding:0;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb-video{position:relative}.thumb-play{width:var(--sp-5);height:var(--sp-5);border-radius:var(--r-pill);background:var(--scrim);margin:auto;position:absolute;inset:0}.thumb-play:after{content:"";border-style:solid;border-width:5px 0 5px 9px;border-color:transparent transparent transparent var(--on-scrim);width:0;height:0;margin:auto;position:absolute;inset:0;transform:translate(1px)}.thumb-duration{right:var(--sp-1);bottom:var(--sp-1);padding:0 var(--sp-1);border-radius:var(--r-sm);background:var(--scrim);color:var(--on-scrim);font-size:var(--fs-meta);line-height:1.4;position:absolute}.thumb.pending{border:1px dashed var(--accent);opacity:.7}.thumb.pending.stuck{border-color:var(--danger)}.thumb-empty{background:var(--border);width:100%;height:100%;display:block}button.danger{color:var(--danger);border-color:var(--danger)}dialog.viewer{z-index:10;background:var(--bg);width:100%;max-width:none;height:100%;max-height:none;color:var(--text);overscroll-behavior:contain;border:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:0}dialog.viewer:not([open]){display:none}.viewer-confirm{align-items:center;gap:var(--sp-2);padding:0 var(--sp-3) var(--sp-3);font-size:var(--fs-meta);flex-wrap:wrap;margin:0;display:flex}.viewer-confirm>span{flex:1;min-width:100%}.viewer-delete-failed,.viewer-share-result{padding:0 var(--sp-3) var(--sp-3);margin:0}.viewer-bar,.viewer-nav{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-3);display:flex}.viewer-uploader{display:block}.viewer-image{flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.viewer-image img,.viewer-image video{object-fit:contain;max-width:100%;max-height:100%}.upload-progress{align-items:center;gap:var(--sp-2);display:flex}.upload-progress progress{height:var(--sp-2);accent-color:var(--accent);flex:1}.table-scroll{margin:var(--sp-2) calc(var(--sp-4) * -1) 0;padding:0 var(--sp-4);background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow-x:auto}table.monthly{border-collapse:collapse;white-space:nowrap;font-size:var(--fs-label);width:100%}table.monthly th,table.monthly td{border-bottom:1px solid var(--border);padding:var(--sp-2) var(--sp-3);text-align:right;font-weight:400}table.monthly thead th{font-size:var(--fs-meta);color:var(--text)}table.monthly tbody th{background:var(--surface);text-align:left;color:var(--text-strong);padding:0;position:sticky;left:0}table.monthly .day{width:100%;min-height:var(--tap);padding:var(--sp-2) var(--sp-3);box-sizing:border-box;font:inherit;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;display:block}table.monthly button.day:focus-visible{outline-offset:-2px}table.monthly td.memo{text-overflow:ellipsis;text-align:left;max-width:160px;overflow:hidden}table.monthly td.edit{padding:0}table.monthly .cell{width:100%;min-width:var(--tap);min-height:var(--tap);padding:var(--sp-2) var(--sp-3);font:inherit;color:inherit;text-align:right;box-sizing:border-box;background:0 0;border:0;border-radius:0;display:block}table.monthly .cell:focus-visible{outline-offset:-2px}table.monthly .day:not(:disabled):active,table.monthly .cell:not(:disabled):active{transform:none}table.monthly .cell-empty{opacity:.35}table.monthly .cell.saved{animation:1.2s ease-out cell-saved-flash}@keyframes cell-saved-flash{0%{background:var(--tint);color:var(--accent)}to{background:0 0}}@media (prefers-reduced-motion:reduce){table.monthly .cell.saved{color:var(--accent);animation:none}}table.monthly .cell-input{width:6em;margin:var(--sp-1) var(--sp-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-label);text-align:right}table.monthly td.edit input[type=text]:not([inputmode]){text-align:left;width:8em}table.monthly td.edit textarea.cell-input{text-align:left;vertical-align:middle;width:12em}table.monthly .cell-error{padding:0 var(--sp-3) var(--sp-2);font-size:var(--fs-meta);display:block}table.monthly .cell-confirm{margin:0 var(--sp-2) var(--sp-2);white-space:normal;text-align:left;max-width:14em}table.monthly .cell-retry{margin:0 var(--sp-3) var(--sp-2);display:block}table.monthly td.memo .cell{text-overflow:ellipsis;text-align:left;max-width:160px;overflow:hidden}table.monthly tr.weekend th,table.monthly tr.weekend td{background:var(--tint)}table.monthly tr.weekend th{background:linear-gradient(var(--tint), var(--tint)) var(--surface)}table.monthly tr.future th,table.monthly tr.future td{opacity:.4}.tabbar{z-index:5;border-top:1px solid var(--border);background:var(--surface);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{font-family:var(--font-round);align-items:center;gap:var(--sp-1);padding:var(--sp-2) 0 calc(var(--sp-2) + env(safe-area-inset-bottom));font-size:var(--fs-meta);color:var(--text);border:0;border-radius:0;flex-direction:column;flex:1;line-height:1;display:flex}.tabbar button[aria-current=page]{color:var(--accent);font-weight:600}.tabbar button:not(:disabled):active{transform:none}.tab-icon{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;display:block}.tab-icon-dot{fill:currentColor;stroke:none}.auth-screen{padding:calc(var(--sp-4) + env(safe-area-inset-top)) var(--sp-4) var(--sp-4);box-sizing:border-box;justify-content:center;align-items:center;gap:var(--sp-3);text-align:center;flex-direction:column;min-height:80svh;display:flex}.mascot{color:var(--accent);flex:none}.mascot-sleeping{opacity:.75}.mascot-body{fill:var(--bg);stroke:currentColor;stroke-width:1.6px}.mascot-eyes{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round}.mascot-pupil{fill:currentColor;stroke:none}.mascot-shine{fill:var(--bg);stroke:none}.mascot-ear-inner{fill:var(--carrot);opacity:.28}.mascot-face{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linecap:round}.mascot-nose{fill:currentColor}.mascot-cheek{fill:var(--carrot);opacity:.3}.mascot-happy .mascot-cheek{opacity:.45}.carrot{vertical-align:-3px;flex:none}.carrot-body{fill:var(--carrot)}.carrot-leaf{fill:none;stroke:var(--leaf);stroke-width:1.7px;stroke-linecap:round}.carrot-outline{opacity:.55}.carrot-outline .carrot-body{fill:none;stroke:currentColor;stroke-width:1.4px}.carrot-outline .carrot-leaf{stroke:currentColor}.meter-carrots{gap:var(--sp-1);color:var(--text);flex:none;display:flex}.record-header-meta{gap:0 var(--sp-3);flex-wrap:wrap;min-width:0;display:flex}.record-header-meta>span{white-space:nowrap}.cheer{font-family:var(--font-round);align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill);font-size:var(--fs-label);background:var(--tint);color:var(--text);display:flex}.cheer.done{background:var(--good-bg);color:var(--good-text)}.cheer.worried{background:var(--surface);color:var(--danger)}.field-name{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-1);display:flex}.field-name label{margin-bottom:0}.water{border-radius:var(--r-md);padding:var(--sp-3);margin-bottom:var(--sp-4);background:var(--tint)}.water.done{background:var(--good-bg)}.value{align-items:baseline;gap:var(--sp-2);width:100%;min-height:var(--tap);padding:var(--sp-1) var(--sp-3);margin-left:calc((var(--sp-3) + 1px) * -1);text-align:left;background:0 0;border-color:#0000;display:flex;position:relative}@media (hover:hover){.value:hover{border-color:var(--border)}}.value-number{font-family:var(--font-round);font-size:var(--fs-display);color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.2}.value-unit{font-size:var(--fs-label);color:var(--text)}.value-badge{padding:2px var(--sp-3);border:1px solid var(--border);border-radius:var(--r-pill);font-size:var(--fs-meta);color:var(--text);white-space:nowrap;margin-left:auto}.value.celebrate{animation:1s ease-out value-flash}.value.celebrate .value-number{animation:.76s ease-out value-bounce}@keyframes value-flash{0%{background:var(--tint);border-color:var(--carrot);box-shadow:0 0 #d97a2b99}40%{background:var(--tint);border-color:var(--carrot)}to{background:0 0;border-color:#0000;box-shadow:0 0 0 28px #d97a2b00}}@keyframes value-bounce{0%{color:var(--carrot);text-shadow:0 0 #d97a2b00;transform:scale(.78)rotate(-5deg)}35%{color:var(--carrot);text-shadow:0 0 20px #d97a2bd9;transform:scale(1.52)rotate(4deg)}55%{color:var(--carrot);transform:scale(.9)rotate(-3deg)}75%{transform:scale(1.14)rotate(2deg)}to{color:var(--accent);text-shadow:0 0 #d97a2b00;transform:scale(1)rotate(0)}}.value-burst{pointer-events:none;width:0;height:0;position:absolute;top:28px;left:56px}.burst-glow{background:radial-gradient(circle,#d97a2b8c,#d97a2b00 70%);border-radius:50%;width:160px;height:160px;animation:.7s ease-out forwards burst-glow;position:absolute;top:-80px;left:-80px}.burst-ring{border:2px solid var(--carrot);border-radius:50%;width:88px;height:88px;animation:.82s ease-out forwards burst-ring;position:absolute;top:-44px;left:-44px}.burst-ring:before,.burst-ring:after{content:"";border:inherit;border-radius:50%;animation:.82s ease-out .14s forwards burst-ring;position:absolute;inset:-2px}.burst-ring:after{animation-delay:.29s}.burst-carrot{opacity:0;animation:burst-fly .98s cubic-bezier(.15, .75, .3, 1) var(--delay) forwards;display:block;position:absolute;top:0;left:0}.burst-spark{--spin:0deg;width:var(--size);height:var(--size);background:var(--tone);opacity:0;animation:burst-fly .98s cubic-bezier(.15, .75, .3, 1) var(--delay) forwards;border-radius:50%;position:absolute;top:0;left:0}@keyframes burst-glow{0%{opacity:.9;transform:scale(.2)}to{opacity:0;transform:scale(1.6)}}@keyframes burst-ring{0%{opacity:.85;transform:scale(.12)}to{opacity:0;transform:scale(2.3)}}@keyframes burst-fly{0%{opacity:0;transform:translate(0)scale(.3)rotate(0)}15%{opacity:1}55%{opacity:1;transform:translate(calc(var(--dx) * .78), var(--dy)) scale(1.25) rotate(calc(var(--spin) * .65))}to{opacity:0;transform:translate(var(--dx), calc(var(--dy) + 46px)) scale(.85) rotate(var(--spin))}}@media (prefers-reduced-motion:reduce){.value-burst{display:none}.value.celebrate,.value.celebrate .value-number,.save-state.saved{animation:none}}.stamp-grid{gap:var(--sp-1);margin-top:var(--sp-2);grid-template-columns:repeat(7,1fr);display:grid}.stamp-weekday{font-size:var(--fs-meta);color:var(--text);text-align:center;opacity:.8}.stamp{aspect-ratio:1;min-height:var(--tap);border-radius:var(--r-md);font-size:var(--fs-label);background:var(--surface);justify-content:center;align-items:center;padding:0;display:flex}.stamp.done{background:var(--good-bg);border-color:var(--good)}.stamp.partial{border-color:var(--carrot)}.stamp.partial .stamp-day{color:var(--accent)}.stamp.future{opacity:.35}.stamp[aria-current=date]{border:2px solid var(--text-strong)}.stamp[aria-current=date] .stamp-day{color:var(--text-strong);font-weight:600}.stamp-legend{gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.stamp-legend>span{align-items:center;gap:var(--sp-1);display:inline-flex}.stamp-dot{border:1.5px solid var(--carrot);border-radius:50%;width:11px;height:11px}
