:root{--bg: #4F6887;--page-image: url(/background.jpg);--page-scrim: linear-gradient(rgba(0, 0, 0, .38), rgba(0, 0, 0, .38));--ink: #F2EFE4;--ink-soft: #DCD7C6;--accent: #FCB4A2;--accent-bright: #FFD5C9;--field: rgba(255, 255, 255, .3);--field-ink: #3A3A38;--tab-ink: #3A3A38;--on-accent: #33302B;--accent-bar: #C53E1C;--bar-bg: rgba(242, 239, 228, .7);--halftone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3CradialGradient id='g'%3E%3Cstop offset='0' stop-color='%234FA3DB' stop-opacity='0.22'/%3E%3Cstop offset='0.55' stop-color='%234FA3DB' stop-opacity='0.14'/%3E%3Cstop offset='1' stop-color='%234FA3DB' stop-opacity='0'/%3E%3C/radialGradient%3E%3Ccircle cx='1.5' cy='1.5' r='1.6' fill='url(%23g)'/%3E%3Ccircle cx='4.5' cy='4.5' r='1.6' fill='url(%23g)'/%3E%3C/svg%3E");--noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.10 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");--texture: none}:root[data-theme=dark]{--bg: #131313;--ink: #F2EFE4;--ink-soft: #C8C3B4;--field: rgba(255, 255, 255, .12);--field-ink: #F2EFE4;--tab-ink: #F2EFE4;--bar-bg: rgba(20, 20, 20, .72);--accent-bar: var(--accent);--page-image: url(/background-dark.jpg);--page-scrim: none;--texture: none;--halftone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3CradialGradient id='g'%3E%3Cstop offset='0' stop-color='%23F2EFE4' stop-opacity='0.06'/%3E%3Cstop offset='0.55' stop-color='%23F2EFE4' stop-opacity='0.04'/%3E%3Cstop offset='1' stop-color='%23F2EFE4' stop-opacity='0'/%3E%3C/radialGradient%3E%3Ccircle cx='1.5' cy='1.5' r='1.6' fill='url(%23g)'/%3E%3Ccircle cx='4.5' cy='4.5' r='1.6' fill='url(%23g)'/%3E%3C/svg%3E");--noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #131313;--ink: #F2EFE4;--ink-soft: #C8C3B4;--page-image: url(/background-dark.jpg);--page-scrim: none;--texture: none;--field: rgba(255, 255, 255, .12);--field-ink: #F2EFE4;--tab-ink: #F2EFE4;--bar-bg: rgba(20, 20, 20, .72);--accent-bar: var(--accent);--halftone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3CradialGradient id='g'%3E%3Cstop offset='0' stop-color='%23F2EFE4' stop-opacity='0.06'/%3E%3Cstop offset='0.55' stop-color='%23F2EFE4' stop-opacity='0.04'/%3E%3Cstop offset='1' stop-color='%23F2EFE4' stop-opacity='0'/%3E%3C/radialGradient%3E%3Ccircle cx='1.5' cy='1.5' r='1.6' fill='url(%23g)'/%3E%3Ccircle cx='4.5' cy='4.5' r='1.6' fill='url(%23g)'/%3E%3C/svg%3E");--noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}}@media(min-width:760px){:root{--page-image: url(/background-wide.jpg)}:root[data-theme=dark]{--page-image: url(/background-dark-wide.jpg)}}@media(min-width:760px)and (prefers-color-scheme:dark){:root:not([data-theme=light]){--page-image: url(/background-dark-wide.jpg)}}@font-face{font-family:PP Museum;src:url(/fonts/PPMuseum-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:PP Museum;src:url(/fonts/PPMuseum-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:PP Museum;src:url(/fonts/PPMuseum-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:PP Museum;src:url(/fonts/PPMuseum-Ultrabold.woff2) format("woff2");font-weight:800;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}html{background-color:var(--bg);background-image:var(--page-scrim),var(--page-image),var(--texture);background-size:auto,cover,auto;background-position:center,center,0 0;background-attachment:fixed,fixed,scroll}body{background:transparent}body:before{content:"";position:fixed;inset:0;background-image:var(--page-scrim),var(--page-image);background-size:auto,cover;background-position:center,center;z-index:-1;pointer-events:none}body{font-family:PP Museum,Iowan Old Style,Palatino,Georgia,serif;color:var(--ink);font-size:16px;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}input,textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}button{background:none;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent}#root{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-title{font-size:clamp(56px,21.5vw,84px);font-weight:800;text-align:center;padding:24px 8px 0;line-height:1.1;position:sticky;top:0;z-index:0;pointer-events:none;will-change:filter,opacity,transform;color:color-mix(in srgb,var(--ink) 8%,transparent);-webkit-text-stroke:1.5px color-mix(in srgb,var(--ink) 50%,transparent);letter-spacing:.5px}.screen{position:relative;z-index:1;flex:1;padding:24px 16px calc(112px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:32px}.streak-grid--circle{display:block;position:relative}.streak-grid--circle .streak-dot{position:absolute}.streak-grid{display:grid;justify-content:center;touch-action:none;overflow:visible}.streak-dot{--heat: 0;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--ink),var(--accent-bright) calc(var(--heat) * 190%));opacity:calc(.26 + .74 * var(--heat));will-change:transform}.streak-dot.is-filled{background:color-mix(in srgb,var(--accent),var(--accent-bright) calc(var(--heat) * 100%));border-color:color-mix(in srgb,var(--accent),var(--accent-bright) calc(var(--heat) * 100%));opacity:calc(.85 + .15 * var(--heat))}.streak-head{display:flex;align-items:center;justify-content:flex-start;gap:14px;font-size:21px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--accent);margin:0 auto;padding-bottom:20px}.streak-head>span:last-child{margin-left:auto}.voice-picker{position:relative;display:inline-block;border-bottom:1.5px solid var(--ink-soft);line-height:1.15}.voice-picker__text{font-size:16px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);white-space:nowrap}.voice-select{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:none;padding:0;background:none;cursor:pointer;appearance:none;-webkit-appearance:none}.chime-toggle{display:flex;align-items:center;color:var(--ink-soft);padding:4px;margin:-4px}.chime-toggle svg{width:20px;height:20px;display:block}.chime-toggle.is-muted{opacity:.55}.screen--fill{gap:0}.streak-card{display:block}.screen--loose,.screen--settings{gap:48px}.section-label{text-transform:uppercase;letter-spacing:.5px;font-size:21px;font-weight:500;color:var(--ink-soft)}.card{position:relative;border:1.5px solid var(--ink);border-radius:16px;padding:8px 16px 16px;margin:0;min-inline-size:0}.card>.card-label{margin-left:8px;padding:0 8px;text-transform:uppercase;letter-spacing:.5px;font-size:21px;font-weight:500;line-height:24px;color:var(--ink-soft)}.card-subrow{display:flex;align-items:center;justify-content:space-between;gap:12px;height:24px;padding-bottom:4px;box-sizing:content-box}.card-sub{text-transform:uppercase;letter-spacing:.5px;font-size:21px;font-weight:500;line-height:24px;color:var(--ink-soft);white-space:nowrap;min-width:0}.card-stat{color:var(--accent);font-size:28px;font-weight:700;line-height:1;white-space:nowrap}.unit-label{font-size:20px;color:var(--ink)}select.range-select{appearance:none;-webkit-appearance:none;background:none;border:none;border-bottom:1.5px solid var(--ink-soft);color:var(--ink-soft);font:inherit;text-transform:uppercase;letter-spacing:.5px;padding:0;cursor:pointer}select.range-select:focus{outline:none;border-bottom-color:var(--accent)}.field-row{display:flex;align-items:center;gap:8px;min-height:56px}.field-row>span:first-child{white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.field-row .leader{flex:1;border-bottom:1.5px dotted var(--ink)}.pill{background:var(--field);border:none;border-radius:16px;padding:12px 16px;min-width:112px;text-align:right;font-variant-numeric:tabular-nums;color:var(--field-ink);font-weight:500}.pill::-webkit-outer-spin-button,.pill::-webkit-inner-spin-button,.pill-wrap input::-webkit-outer-spin-button,.pill-wrap input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].pill,.pill-wrap input[type=number]{-moz-appearance:textfield;appearance:textfield}input.pill:focus,select.pill:focus,textarea:focus{outline:1.5px solid var(--ink)}input.pill::placeholder,textarea::placeholder{color:var(--field-ink);opacity:.5}.pill-wrap{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:4px;width:132px}.pill-wrap .unit{width:22px;text-align:left;flex:none}.pill-wrap input{background:none;border:none;padding:0;min-width:0;flex:1;text-align:right;color:var(--field-ink);font-variant-numeric:tabular-nums;font-weight:500}.pill-wrap input:focus{outline:none}.pill-wrap:focus-within{outline:1.5px solid var(--ink)}.pill-wrap input::placeholder{color:var(--field-ink);opacity:.5}.pill-wrap .unit{font-weight:500;color:var(--field-ink);opacity:.7;flex:none}select.pill{appearance:none;-webkit-appearance:none;text-align:right;direction:rtl}select.pill option{direction:ltr}.pill--big{font-size:24px}.pill--wide{flex:1 1 auto;min-width:0;width:auto;text-align:right}.field-row:has(.pill--wide) .leader{flex:0 1 32px}.screen--settings .pill:not(.pill--wide){width:128px;min-width:0;flex:none}.screen--settings input[type=date].pill{width:164px;max-width:100%;position:relative;-webkit-appearance:none;appearance:none;text-align:right}.screen--settings input[type=date].pill::-webkit-date-and-time-value{text-align:right}.screen--settings input[type=date].pill::-webkit-datetime-edit{display:block;width:100%;text-align:right}@media(max-width:379px){.screen--settings .pill:not(.pill--wide){width:116px}.screen--settings input[type=date].pill{width:142px;font-size:14px;padding-left:10px;padding-right:10px}}input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;margin:0;padding:0;opacity:0;cursor:pointer}.data-row{display:flex;align-items:baseline;gap:8px;padding:4px 0;font-variant-numeric:tabular-nums}.data-row .col-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.col-cal,.col-macro{width:54px;text-align:right;flex:none}.accent{color:var(--accent)}.estimated-mark{color:var(--accent);margin-left:4px}.day-viewport{overflow:hidden;touch-action:pan-y;transition:height .26s cubic-bezier(.25,.9,.25,1)}.day-track{display:flex;align-items:flex-start;gap:32px;will-change:transform}.day-pane{flex:0 0 100%;min-width:0}.day-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);padding:8px 0;-webkit-user-select:none;user-select:none}.day-picker{position:relative;display:inline-flex}.day-picker input[type=date]{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:none;padding:0;background:none;cursor:pointer;min-width:0;-webkit-appearance:none;appearance:none}.day-head .day-date{font-size:21px;font-weight:500;letter-spacing:.5px;color:var(--ink-soft);white-space:nowrap}.day-head .chev{color:var(--ink-soft);font-size:21px;padding:0 8px;line-height:1}.day-head .chev:disabled{opacity:.3;cursor:default}.col-head{text-transform:uppercase;letter-spacing:.5px;font-size:14px;color:var(--ink-soft);padding-top:8px}.slot-heading{margin:16px 0 0}.total-row{border-top:1.5px solid var(--ink);margin-top:16px;padding:8px 0}.overunder-row{border-top:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);padding:8px 0}.total-row .col-label,.overunder-row .col-label{text-transform:uppercase;letter-spacing:.5px;font-weight:500}.overunder-row .col-cal,.overunder-row .col-macro{color:var(--accent)}.entry-card{min-height:240px;margin-top:16px}.entry-card>.card-label{font-size:21px;line-height:28px}.card-label .mode-btn{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.5px;font-size:21px;font-weight:500}.card-label .mode-btn.active{color:var(--accent);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px}.slot-picker{display:flex;gap:8px;justify-content:flex-end}.slot-picker button{border:1.5px solid var(--ink);border-radius:999px;padding:4px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink)}.slot-picker button.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.preset-list{display:flex;flex-direction:column}.preset-list .preset-name{text-align:left;color:var(--ink);padding:0;width:100%}.preset-row.open .preset-name .col-label{color:var(--accent)}.preset-qty{display:flex;align-items:center;gap:12px;padding:8px 0 16px}.qty-field{display:flex;align-items:baseline;gap:4px;background:var(--field);border-radius:999px;padding:6px 14px}.qty-field input{width:64px;background:none;border:none;color:var(--field-ink);font-weight:500;font-size:16px;text-align:right;-moz-appearance:textfield;appearance:textfield}.qty-field input::-webkit-outer-spin-button,.qty-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-field input:focus{outline:none}.qty-field:focus-within{outline:1.5px solid var(--ink);outline-offset:0}.qty-unit{font-size:12px;letter-spacing:.5px;color:var(--field-ink)}.qty-kcal{flex:1;text-align:right;font-size:16px;font-weight:500;color:var(--ink)}.preset-qty .btn:disabled{opacity:.4}.preset-edit{align-self:flex-end;margin-top:8px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft)}.preset-edit.active{color:var(--accent)}input.preset-rename{width:100%;background:var(--field);border:none;border-radius:999px;padding:6px 14px;margin:2px 0;font-size:16px;font-weight:500;color:var(--field-ink)}input.preset-rename:focus{outline:1.5px solid var(--ink)}.preset-row.editing{display:flex;align-items:center;gap:8px}.preset-row.editing input.preset-rename{flex:1;min-width:0}.preset-delete{flex:0 0 auto;color:var(--ink-soft);font-size:16px;padding:4px 6px}.preset-delete.armed{color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:.5px}textarea.freeform{font-weight:500;width:100%;background:var(--field);border:none;border-radius:16px;padding:16px;min-height:80px;resize:none;color:var(--field-ink)}.btn{border:1.5px solid var(--ink);border-radius:999px;padding:8px 24px;color:var(--ink);text-transform:uppercase;letter-spacing:.5px;font-size:14px}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn:disabled{opacity:.5;cursor:default}.skeleton{height:16px;border-radius:8px;background:var(--field);margin:8px 0;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.row-edit{display:flex;gap:8px;align-items:center;padding:4px 0}.row-edit input{font-weight:500;background:var(--field);border:none;border-radius:8px;padding:4px 8px;min-width:0;font-variant-numeric:tabular-nums;color:var(--field-ink)}.row-edit input.num{width:6ch;text-align:right}.row-edit input.name{flex:1}.row-edit .icon-btn{color:var(--ink);padding:4px 8px;flex:none}.tab-bar{position:fixed;z-index:2;bottom:calc(8px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:448px;display:flex;background:var(--bar-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:24px;padding:8px}.tab-bar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 2px;border-radius:14px;color:var(--tab-ink);text-transform:uppercase;letter-spacing:.5px;font-size:14px;font-weight:500}.tab-bar .tab-icon{width:18px;height:18px;display:block}.tab-bar button.active{color:var(--accent-bar)}.big-number{font-size:40px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.readout-note{font-size:14px;opacity:.8}.chart-wrap{height:144px;margin-top:8px}.chart-plot{height:144px}.chart-wrap--keyed{height:auto}.chart-key{display:flex;gap:16px;justify-content:flex-start;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);margin-top:8px}.chart-key__item{display:inline-flex;align-items:center;gap:6px}.chart-key__swatch{width:18px;height:0;border-top-width:2px;display:inline-block}.chart-key__swatch--solid{border-top-style:solid;border-top-color:var(--accent)}.chart-key__swatch--dashed{border-top-style:dashed;border-top-color:var(--ink-soft)}.chart-wrap svg:focus,.chart-wrap .recharts-wrapper:focus{outline:none}.dash-cal-row{display:flex;align-items:baseline;justify-content:space-between}.hint{font-size:14px;opacity:.75}
