@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/cc6c75d91fb27f62-s.3j-lqo2q-puhp.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ed5f1f9bced69653-s.p.2li_3lqay9qjq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/574e5b2a8fe8e45b-s.061jvc6_x84nn.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(../media/89ea96820aa96980-s.p.0hs6q6udzld4a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Fallback;src:local(Arial);ascent-override:95.6%;descent-override:29.18%;line-gap-override:0.0%;size-adjust:99.37%}.atkinson_hyperlegible_3f98ecca-module__6BASFa__className{font-family:Atkinson Hyperlegible,Atkinson Hyperlegible Fallback;font-style:normal}.atkinson_hyperlegible_3f98ecca-module__6BASFa__variable{--font-atkinson:"Atkinson Hyperlegible", "Atkinson Hyperlegible Fallback"}
:root{--bg:#faf8f3;--panel:#fff;--ink:#111;--line:#1a1a1a;--muted-ink:#3d3d3d;--muted-bg:#f1eee6;--rule:#d8d2c4;--green:#17603a;--green-dark:#0f4a2c;--red:#a61b1b;--red-dark:#7d1313;--amber:#f4c542;--amber-dark:#e6b52c;--rose:#fbe4e1;--rose-ink:#7a1212;--rose-hover:#f7d3ce;--focus:#1d4ed8;--disabled-bg:#e6e3dc;--disabled-ink:#404040;--disabled-line:#6b6b6b;--fs-body:clamp(1.75rem, 1.45rem + .45vw, 2rem);--fs-list:clamp(1.875rem, 1.2rem + 1.4vw, 2.5rem);--fs-heading:clamp(2.25rem, 1.6rem + 1.4vw, 2.875rem);--fs-button:clamp(1.875rem, 1.65rem + .35vw, 2.125rem);--fs-label:1.625rem;--radius:16px;--radius-small:12px;--gap:clamp(16px, 2.2vw, 36px);--gap-small:clamp(12px, 1.4vh, 20px);--button-height:76px;--press-shadow:0 3px 0 0 #11111173}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font-atkinson), "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;font-size:var(--fs-body);-webkit-font-smoothing:antialiased;margin:0;font-weight:700;line-height:1.4}h1,h2,p{margin:0}strong{font-weight:700}.nowrap{white-space:nowrap}.icon{flex:none;width:1.1em;height:1.1em}:focus-visible{outline:5px solid var(--focus);outline-offset:3px}.btn{min-height:var(--button-height);border:3px solid var(--line);border-radius:var(--radius-small);box-shadow:var(--press-shadow);font:inherit;font-size:var(--fs-button);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;justify-content:center;align-items:center;gap:.4em;padding:.3em .85em;font-weight:700;line-height:1.15;text-decoration:none;transition:background-color .12s,transform 80ms,box-shadow 80ms;display:inline-flex}.btn__label{min-width:0}.btn:active:not([aria-disabled=true]){transform:translateY(2px);box-shadow:0 1px #11111173}.btn--listen{background:var(--green);border-color:var(--green-dark);color:#fff}.btn--listen:hover{background:var(--green-dark)}.btn--stop{background:var(--red);border-color:var(--red-dark);color:#fff}.btn--stop:hover{background:var(--red-dark)}.btn--update{background:var(--amber);border-color:var(--line);color:var(--ink)}.btn--update:hover{background:var(--amber-dark)}.btn--clear{background:var(--rose);border-color:var(--rose-ink);color:var(--rose-ink)}.btn--clear:hover{background:var(--rose-hover)}.btn--dark{background:var(--line);border-color:var(--line);color:#fff}.btn--dark:hover{background:#333}.btn--light{border-color:var(--line);color:var(--ink);background:#fff}.btn--light:hover{background:var(--muted-bg)}.btn--wide{width:100%}.btn--unavailable,.btn--unavailable:hover{background:var(--disabled-bg);border-color:var(--disabled-line);color:var(--disabled-ink);box-shadow:none;cursor:not-allowed;border-style:dashed}.btn--pulsing{animation:1.8s ease-in-out infinite listen-ring}@keyframes listen-ring{0%,to{box-shadow:var(--press-shadow), 0 0 0 0 #a61b1b73}50%{box-shadow:var(--press-shadow), 0 0 0 10px #a61b1b00}}.pulse{background:var(--red);border-radius:50%;width:.7em;height:.7em;animation:1.8s ease-in-out infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.72)}}.spinner{border:4px solid #11111140;border-top-color:var(--ink);border-radius:50%;width:.9em;height:.9em;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.app{gap:var(--gap-small);grid-template-rows:auto minmax(0,1fr) auto;width:100%;max-width:1680px;min-height:100dvh;margin:0 auto;padding:clamp(14px,2.2vh,28px) clamp(16px,2.5vw,40px) clamp(12px,1.6vh,20px);display:grid}.app__header{justify-content:space-between;align-items:center;gap:12px var(--gap);flex-wrap:wrap;display:flex}.app__title{font-size:var(--fs-heading);letter-spacing:-.01em;line-height:1.1}.app__nav{flex-wrap:wrap;gap:16px;display:flex}.app__main{gap:var(--gap-small) var(--gap);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid}.column{grid-row:span 3;grid-template-rows:subgrid;gap:var(--gap-small);min-width:0;min-height:0;display:grid}.column__bar{min-height:var(--button-height);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex;container-type:inline-size}.column__bar .btn{white-space:nowrap}.column__bar-button{flex:1 1 0;min-width:0}@container (max-width:520px){.column__bar .btn{gap:.3em;padding-inline:.45em}.column__count{display:none}}.column__heading{font-size:var(--fs-heading);padding-left:4px;line-height:1.1}.column__count{font-size:var(--fs-body);color:var(--muted-ink);white-space:nowrap}.discussion,.list-box{background:var(--panel);border:3px solid var(--line);border-radius:var(--radius);overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:#6b6b6b #efece5;min-height:220px;overflow-y:auto}.discussion{cursor:text;flex-direction:column;display:flex;position:relative}.discussion:focus-within{outline:5px solid var(--focus);outline-offset:3px}.discussion__added{background:var(--muted-bg);color:var(--muted-ink);border-bottom:3px solid var(--disabled-line);cursor:default;flex:none;padding:0 22px 16px}.discussion__added-label{z-index:1;background:var(--muted-bg);font-size:var(--fs-label);color:var(--muted-ink);align-items:center;gap:.35em;margin:0 -22px 4px;padding:10px 22px 6px;font-weight:700;display:flex;position:sticky;top:0}.discussion__new-label{font-size:var(--fs-label);color:var(--ink);cursor:text;padding:12px 22px 0;font-weight:700;display:block}.discussion__added-label .icon{color:var(--green);stroke-width:3px}.discussion__added-text{font-size:var(--fs-body);white-space:pre-wrap;overflow-wrap:anywhere;font-weight:700;line-height:1.4}.discussion__input{width:100%;min-height:3.2em;color:var(--ink);font:inherit;font-size:var(--fs-body);resize:none;caret-color:var(--focus);background:0 0;border:0;flex:1 0 auto;margin:0;padding:10px 22px 14px;font-weight:700;line-height:1.45;display:block;overflow:hidden}.discussion__input:focus-visible{outline:none}.discussion__input::placeholder{color:#4a4a4a;opacity:1}.list-box{scroll-snap-type:y proximity;padding:8px 24px;scroll-padding-top:8px}.list-box .shopping-list{padding-bottom:1.4em}.list-box .shopping-list__item{scroll-snap-align:start}.shopping-list{margin:0;padding:0;list-style:none}.shopping-list__item{font-size:var(--fs-list);border-bottom:2px solid #ebe7de;align-items:baseline;gap:.4em;padding:.28em 0;font-weight:700;line-height:1.25;display:flex}.shopping-list__item:last-child{border-bottom:0}.shopping-list__item--new{border-radius:8px;margin-inline:-12px;padding-inline:12px;animation:3s ease-out forwards new-item}@keyframes new-item{0%,35%{background-color:#fbe7a8}to{background-color:#fbe7a800}}.shopping-list__number{text-align:right;min-width:1.5em;color:var(--muted-ink);font-variant-numeric:tabular-nums;flex:none}.shopping-list__text{overflow-wrap:anywhere}.shopping-list--compact .shopping-list__item{font-size:var(--fs-body);padding:.18em 0}.list-empty{font-size:var(--fs-list);color:var(--muted-ink);padding:.3em 0}.list-error{flex-direction:column;align-items:flex-start;gap:16px;padding-bottom:16px;display:flex}.status{border-radius:var(--radius-small);min-height:calc(2.6em + 22px);font-size:var(--fs-body);pointer-events:none;border:3px solid #0000;align-items:center;gap:.55em;padding:8px 20px;font-weight:700;line-height:1.3;display:flex}.status__icon{flex:none;place-items:center;width:1.3em;height:1.3em;display:inline-grid}.status__icon .icon{width:1.2em;height:1.2em}.status--info{background:#eef2fb;border-color:#b9c6ea}.status--info .status__icon{color:var(--focus)}.status--success{background:#e7f2ea;border-color:#a9cdb6}.status--success .status__icon{color:var(--green)}.status--error{background:var(--rose);border-color:var(--rose-ink);color:var(--rose-ink)}.status--listening{background:#fdecea;border-color:#e3a5a0}.status--working{background:#fdf4d6;border-color:#e0c56b}.status:empty{background:0 0;border-color:#0000}.dialog{border:3px solid var(--line);background:var(--panel);width:min(760px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--ink);border-radius:22px;margin:min(14vh,120px) auto auto;padding:clamp(22px,3.5vw,44px);overflow-y:auto;box-shadow:0 24px 70px #0006}.dialog::backdrop{background:#111111bf}.dialog__title{font-size:var(--fs-heading);margin-bottom:.35em;line-height:1.15}.dialog__message{font-size:var(--fs-body);margin-bottom:.6em}.dialog :focus{outline:5px solid var(--focus);outline-offset:3px}.dialog__error:empty,.login__error:empty{min-height:0;margin:0}.dialog__error,.login__error{min-height:1.4em;color:var(--rose-ink);font-size:var(--fs-body);align-items:center;gap:.4em;margin:.2em 0 .6em;line-height:1.3;display:flex}.dialog__actions{flex-wrap:wrap;gap:16px;display:flex}.dialog__actions .btn{flex:240px}@media (min-width:600px){.dialog__actions .btn{white-space:nowrap;flex:auto}}.field{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.field__label-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;display:flex}.field__label{font-size:var(--fs-body);font-weight:700}.field__input{border:3px solid var(--line);border-radius:var(--radius-small);width:100%;min-height:80px;color:var(--ink);font:inherit;font-size:var(--fs-button);letter-spacing:.02em;background:#fff;padding:10px 18px;font-weight:700}.field__input--masked{-webkit-text-security:disc}.field__input[aria-invalid=true]{border-color:var(--rose-ink);border-width:4px}.toggle{border:3px solid var(--line);border-radius:var(--radius-small);min-height:72px;color:var(--ink);font:inherit;font-size:var(--fs-body);cursor:pointer;touch-action:manipulation;background:#fff;align-items:center;gap:.5em;padding:8px 22px 8px 16px;font-weight:700;display:inline-flex}.toggle:hover{background:var(--muted-bg)}.toggle__box{border:3px solid var(--line);background:#fff;border-radius:6px;place-items:center;width:1.15em;height:1.15em;display:inline-grid}.toggle[aria-pressed=true] .toggle__box{background:var(--line);color:#fff}.toggle__box .icon{stroke-width:3.5px;width:.85em;height:.85em}.login{place-items:start center;min-height:100dvh;padding:clamp(16px,6vh,64px) 16px 24px;display:grid}.login__card{border:3px solid var(--line);background:var(--panel);border-radius:22px;width:min(680px,100%);padding:clamp(22px,4vw,48px)}.login__title{font-size:var(--fs-heading);line-height:1.1}.login__intro{margin:.2em 0 .6em}.history{width:100%;max-width:1120px;margin:0 auto;padding:clamp(14px,2.5vh,32px) clamp(16px,2.5vw,40px) 24px}.history__header{align-items:center;gap:16px var(--gap);margin-bottom:var(--gap);flex-wrap:wrap;display:flex}.history__title{font-size:var(--fs-heading);line-height:1.1}.history__note{font-size:var(--fs-list);color:var(--muted-ink);padding:.5em 0}.history__lists{gap:24px;margin:0;padding:0;list-style:none;display:grid}.past-list>article{border:3px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:20px clamp(18px,2.5vw,32px) 16px}.past-list__top{border-bottom:3px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px;padding-bottom:14px;display:flex}.past-list__date{font-size:clamp(1.875rem,1.5rem + .8vw,2.375rem);line-height:1.2}.past-list__count{color:var(--muted-ink);margin-top:2px}.past-list__current{border:3px solid var(--green);border-radius:var(--radius-small);color:var(--green-dark);background:#e7f2ea;align-items:center;gap:.35em;padding:10px 18px;display:inline-flex}.history__status{margin-top:24px;position:sticky;bottom:16px}.goodbye{z-index:10;background:var(--bg);place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0;overflow-y:auto}.goodbye__card{text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:760px;display:flex}.goodbye__tick{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:128px;height:128px;display:grid}.goodbye__tick .icon{stroke-width:3px;width:72px;height:72px}.goodbye__title{margin-top:8px;font-size:clamp(2.5rem,1.8rem + 2.4vw,3.75rem);line-height:1.1}.goodbye__text{margin-bottom:16px;font-size:clamp(1.875rem,1.5rem + 1vw,2.5rem)}@media (min-width:820px) and (min-height:620px){.app{height:100dvh}}@media (max-width:819px){.app__main{grid-template-rows:none;grid-template-columns:minmax(0,1fr)}.app__nav{width:100%}.app__nav>.btn{flex:1 1 0}.column{grid-row:auto;grid-template-rows:auto auto auto}.discussion{height:46vh;min-height:260px}.discussion,.list-box{scrollbar-gutter:auto}.list-box{min-height:160px;overflow:visible}.app__status{position:sticky;bottom:8px}.app__status:empty{min-height:0;padding:0}}@media (max-width:480px){.btn{padding-inline:.45em}.app__nav{grid-template-columns:minmax(0,1fr) auto;display:grid}.app__nav .btn{white-space:nowrap}.app__nav .icon,.btn--wide.btn--clear .icon{display:none}.btn--wide{white-space:nowrap}}@media (max-width:420px){.column__bar-button{flex-basis:100%}}@media (min-width:820px) and (max-height:619px){.discussion,.list-box{height:60vh;min-height:260px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.shopping-list__item--new{background-color:#fbe7a8}.btn--pulsing{box-shadow:var(--press-shadow), 0 0 0 6px #a61b1b59}}@media (forced-colors:active){.btn,.toggle,.discussion,.list-box{border-color:canvastext}.btn--unavailable{color:graytext;border-color:graytext}}
