:root{--bg:#7a2800;--ink:#fff;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg);color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.125rem;line-height:1.45}img,video{max-width:100%;height:auto}[hidden]{display:none!important}:focus-visible{outline:4px dashed var(--ink);outline-offset:4px}.site{flex-direction:column;min-height:100dvh;padding:clamp(1rem,4vw,3rem);display:flex}.site-header{border-bottom:6px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem 2rem;margin-bottom:2rem;padding-bottom:1.25rem;display:flex}.site-title{letter-spacing:-.04em;text-transform:uppercase;margin:0;font-size:clamp(2.5rem,9vw,5rem);font-weight:900;line-height:.92}.site-title a{color:inherit;text-decoration:none}.site-nav{font-family:var(--mono);text-transform:uppercase;flex-wrap:wrap;gap:.75rem 1.5rem;font-size:.875rem;font-weight:700;display:flex}.site-nav a{color:inherit;text-underline-offset:3px;padding:.125rem 0;text-decoration:underline;text-decoration-thickness:3px}.site-nav a:hover,.site-nav a[aria-current=page]{background:var(--ink);color:var(--bg);margin:0 -.375rem;padding:.125rem .375rem;text-decoration:none}.page{flex:1;width:100%;max-width:56rem}.site-footer{border-top:6px solid var(--ink);font-family:var(--mono);text-transform:uppercase;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1rem;font-size:.875rem;font-weight:700;display:flex}.muted{opacity:.7;margin:0}.section{margin-top:2.5rem}.section-title{border-bottom:4px solid var(--ink);font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;padding-bottom:.25rem;font-size:.875rem;font-weight:700}.stack{gap:1rem;display:grid}.field{align-content:start;gap:.375rem;display:grid}.field-wide{grid-column:1/-1}.field-label{font-family:var(--mono);text-transform:uppercase;font-size:.875rem;font-weight:700}.field-hint{opacity:.7;font-size:.875rem}.input{appearance:none;border:4px solid var(--ink);width:100%;min-height:3.25rem;color:inherit;font:inherit;font-family:var(--mono);background:0 0;border-radius:0;margin:0;padding:.5rem .75rem;font-size:1.125rem;font-weight:700}.input::placeholder{color:inherit;opacity:.35}.input:disabled{opacity:.5}.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input[type=number]{appearance:textfield}select.input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='4' d='M4 8l8 8 8-8'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;padding-right:3rem}select.input option{background:var(--bg);color:var(--ink)}textarea.input{resize:vertical;min-height:5rem;font-family:inherit;font-weight:400;line-height:1.4}.btn{border:4px solid var(--ink);min-height:3.25rem;box-shadow:4px 4px 0 var(--ink);background:var(--bg);color:var(--ink);font-family:var(--mono);text-transform:uppercase;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:.5rem;margin:0 4px 4px 0;padding:.5rem 1.25rem;font-size:.875rem;font-weight:700;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:hover{box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.btn:active{box-shadow:none;transform:translate(4px,4px)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:4px 4px 0 var(--ink);transform:none}.btn-primary{background:var(--ink);color:var(--bg)}.btn-icon{min-width:3.25rem;padding:0;font-size:1.75rem;line-height:1}.btn-small{min-height:2.5rem;padding:.25rem .875rem;font-size:.75rem}.btn-big{flex:10rem;min-height:4rem;padding:.75rem 2rem;font-size:1.125rem}.form-grid{grid-template-columns:minmax(6rem,10rem) 1fr;gap:1rem;display:grid}.form-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.form-error{border:4px solid var(--ink);background:var(--ink);color:var(--bg);margin:0;padding:.75rem 1rem;font-weight:700}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-footer a{color:inherit}.link-button{all:unset;cursor:pointer;font-family:var(--mono);text-transform:uppercase;text-underline-offset:3px;font-size:.875rem;font-weight:700;text-decoration:underline;text-decoration-thickness:3px}.link-button:hover{background:var(--ink);color:var(--bg)}.login{max-width:24rem}.day-nav{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.day-label{font-family:var(--mono);text-transform:uppercase;text-align:center;min-width:9rem;margin:0;font-size:1rem;font-weight:700}.day-date{opacity:.7}.hero{border:4px solid var(--ink);box-shadow:10px 10px 0 var(--ink);gap:.5rem;margin:0 10px 1.5rem 0;padding:1.25rem 1.5rem 1.5rem;display:grid}.hero[data-over=true]{background:var(--ink);color:var(--bg)}.hero-number{letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin:0;font-size:clamp(4rem,20vw,9rem);font-weight:900;line-height:.9}.hero-unit{font-family:var(--mono);letter-spacing:0;text-transform:uppercase;margin-left:.5rem;font-size:1rem;font-weight:700}.hero-status{font-family:var(--mono);text-transform:uppercase;margin:0;font-size:1.25rem;font-weight:700}.meter{border:4px solid;height:1.25rem;margin-top:.5rem;display:flex}.meter-fill{background:currentColor;height:100%;transition:width .2s}.meter-over{background:repeating-linear-gradient(-45deg,currentColor 0 3px,#0000 3px 7px);height:100%}.goal-line{font-family:var(--mono);text-transform:uppercase;flex-wrap:wrap;gap:.5rem 1rem;margin:0;font-size:.875rem;font-weight:700;display:flex}.goal-form{gap:1rem;max-width:24rem;display:grid}.add-row{margin:2rem 0 1.5rem;display:flex}.add-row .btn-big{flex:1;font-size:1.25rem}.empty{font-family:var(--mono);text-transform:uppercase;font-size:.875rem}.entries{border-top:4px solid var(--ink);margin:0;padding:0;list-style:none}.entry{border-bottom:4px solid var(--ink);gap:.25rem;padding:.75rem .5rem;display:grid;position:relative}.entry:hover,.entry[data-editing=true]{background:var(--ink);color:var(--bg)}.entry[data-editing=true] .btn{border-color:var(--bg);box-shadow:4px 4px 0 var(--bg);background:var(--ink);color:var(--bg)}.entry[data-editing=true] .btn-primary{background:var(--bg);color:var(--ink)}.entry[data-editing=true] .input{border-color:var(--bg)}.entry-main{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.entry-name{overflow-wrap:anywhere;font-weight:700}.entry-kcal{font-variant-numeric:tabular-nums;flex:none;font-size:1.5rem;font-weight:900}.entry-amount{font-family:var(--mono);opacity:.8;font-size:.875rem;font-weight:700}.entry-toggle{all:unset;cursor:pointer;position:absolute;inset:0}.entry-toggle:focus-visible{outline-offset:-6px;outline:4px dashed}.entry-edit{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.entry-edit .input{width:7rem;min-height:2.5rem}.period-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.period-nav{align-items:center;gap:.75rem;display:flex}.period-title{font-family:var(--mono);text-transform:uppercase;text-align:center;min-width:11rem;margin:0;font-size:.875rem;font-weight:700}.segmented{flex-wrap:wrap;gap:.5rem;display:flex}.segmented .btn[aria-pressed=true]{background:var(--ink);color:var(--bg)}.stats{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:1rem;margin:0 0 1.5rem;display:grid}.stats>div{border-top:4px solid var(--ink);padding-top:.5rem}.stats dt{font-family:var(--mono);text-transform:uppercase;opacity:.7;font-size:.75rem;font-weight:700}.stats dd{font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-weight:700}.stats .stat-big{text-transform:uppercase;font-size:1.5rem;font-weight:900;line-height:1.1}.chart{border-bottom:4px solid var(--ink);gap:4px;height:14rem;display:flex}.chart[data-mode=month]{gap:2px}.chart-col{all:unset;cursor:pointer;flex-direction:column;flex:1 1 0;min-width:0;display:flex}.chart-col:disabled{cursor:default}.chart-col:focus-visible{outline:3px dashed var(--ink);outline-offset:2px}.chart-plot{flex:1;position:relative}.chart-col:not(:disabled):hover .chart-plot,.chart-col[aria-current=date] .chart-plot{background:#ffffff26}.chart-bar{flex-direction:column;display:flex;position:absolute;inset:auto 0 0}.chart-under{background:var(--ink)}.chart-over{border:2px solid var(--ink);background:repeating-linear-gradient(-45deg, var(--ink) 0 2px, transparent 2px 6px);border-bottom:0}.chart-goal{border-top:3px dashed var(--ink);z-index:1;height:0;position:absolute;left:-2px;right:-2px}.chart-label{height:1.5rem;font-family:var(--mono);text-align:center;text-transform:uppercase;white-space:nowrap;margin-bottom:-1.75rem;padding-top:.5rem;font-size:.75rem;font-weight:700}.chart-col[data-today=true] .chart-label{text-decoration:underline;text-decoration-thickness:2px}.chart-legend{font-family:var(--mono);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.5rem;margin:2.5rem 0 0;font-size:.75rem;font-weight:700;display:flex}.legend-swatch{width:1.5rem;height:.875rem;display:inline-block}.legend-swatch+.legend-swatch,.chart-legend .legend-over{margin-left:1rem}.legend-goal{border-top:3px dashed var(--ink);height:0}.legend-over{border:2px solid var(--ink);background:repeating-linear-gradient(-45deg, var(--ink) 0 2px, transparent 2px 6px)}.add-dialog{border:0;border-left:6px solid var(--ink);border-right:6px solid var(--ink);background:var(--bg);width:min(40rem,100vw);max-width:100vw;height:100dvh;max-height:100dvh;color:var(--ink);flex-direction:column;margin:0 auto;padding:0;display:flex}.add-dialog:not([open]){display:none}.add-dialog::backdrop{background:#0009}.add-head{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1rem .75rem;display:flex}.add-title{text-transform:uppercase;letter-spacing:-.02em;margin:0;font-size:1.75rem;font-weight:900;line-height:1}.tabs{border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);grid-template-columns:repeat(4,1fr);display:grid}.tab{all:unset;font-family:var(--mono);text-align:center;text-transform:uppercase;cursor:pointer;padding:.875rem .25rem;font-size:.875rem;font-weight:700}.tab+.tab{border-left:4px solid var(--ink)}.tab:hover,.tab[aria-pressed=true]{background:var(--ink);color:var(--bg)}.tab:focus-visible{outline-offset:-8px;outline:4px dashed}.add-body{flex:1;padding:1.25rem 1rem 2rem;overflow-y:auto}.input-big{min-height:4rem;font-size:2rem}.chips,.choice-list{flex-wrap:wrap;gap:.75rem;display:flex}.choice-list{flex-direction:column;align-items:stretch}.amount-total{letter-spacing:-.03em;margin:0;font-size:2.5rem;font-weight:900;line-height:1}.product-head{border-left:8px solid var(--ink);padding-left:.75rem}.product-name,.missing-title{text-transform:uppercase;overflow-wrap:anywhere;margin:0;font-size:1.5rem;font-weight:900;line-height:1.1}.product-meta{font-family:var(--mono);margin:.25rem 0 0;font-size:.875rem;font-weight:700}.results .section-title{margin-bottom:0}.result-list{margin:0;padding:0;list-style:none}.result{all:unset;box-sizing:border-box;border-bottom:4px solid var(--ink);cursor:pointer;grid-template-columns:1fr auto;grid-template-areas:"name kcal""meta kcal";gap:.125rem 1rem;width:100%;padding:.75rem .5rem;display:grid}.result:hover{background:var(--ink);color:var(--bg)}.result:focus-visible{outline-offset:-6px;outline:4px dashed}.result:disabled{opacity:.5;cursor:wait}.result-name{overflow-wrap:anywhere;grid-area:name;font-weight:700}.result-meta{font-family:var(--mono);text-transform:uppercase;opacity:.75;grid-area:meta;font-size:.75rem;font-weight:700}.result-kcal{text-align:right;font-variant-numeric:tabular-nums;grid-area:kcal;align-self:center;font-size:1.25rem;font-weight:900}.result-kcal small{font-family:var(--mono);text-transform:uppercase;font-size:.625rem;font-weight:700;display:block}.viewfinder{border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink);aspect-ratio:4/3;background:#000;margin-right:8px;position:relative;overflow:hidden}.viewfinder video{object-fit:cover;width:100%;height:100%}.viewfinder-line{border-top:3px solid red;position:absolute;top:50%;left:10%;right:10%}.scan-status{font-family:var(--mono);text-transform:uppercase;font-weight:700}.inline-form{gap:.75rem;display:flex}.inline-form .btn{flex:none}.warnings{border:4px solid var(--ink);margin:0;padding:.75rem 1rem .75rem 2rem;font-weight:700}.raw-text summary{cursor:pointer;font-family:var(--mono);text-transform:uppercase;font-size:.75rem;font-weight:700}.raw-text pre{background:var(--ink);color:var(--bg);white-space:pre-wrap;padding:.75rem;font-size:.75rem;overflow-x:auto}.attempts{gap:.5rem;margin:0;padding:0;font-size:.9375rem;list-style:none;display:grid}.attempts li{border-left:6px solid var(--ink);padding-left:.75rem}label.btn input[type=file]{display:none}@media (prefers-reduced-motion:reduce){.btn,.meter-fill{transition:none}}
