:root{--paper:#f4f6fa;--rule:#dde3ee;--card:#fff;--text:#262b38;--soft:#5d6680;--ink:#1f3d8f;--ink2:#1d7350;--hl:#ffe14d;--on-hl:#262b38;--red:#c2362b;--pen-blue:var(--ink);--pen-green:var(--ink2);--pen-purple:#6b3fa0;--pen-brown:#8a4b12;--font-hand:"Caveat", "Segoe Print", cursive;--font-ui:"Commissioner", system-ui, sans-serif;--fs-xs:13px;--fs-sm:14px;--fs-base:15px;--fs-lg:17px;--fs-hand-sm:30px;--fs-hand-lg:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#111833;--rule:#1d2850;--card:#18213f;--text:#e4e8f4;--soft:#9aa5c6;--ink:#a9c0ff;--ink2:#7fd4ad;--hl:#e9cf3b;--red:#ff8a7a;--pen-purple:#c9a8ff;--pen-brown:#e0a56a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#111833;--rule:#1d2850;--card:#18213f;--text:#e4e8f4;--soft:#9aa5c6;--ink:#a9c0ff;--ink2:#7fd4ad;--hl:#e9cf3b;--red:#ff8a7a;--pen-purple:#c9a8ff;--pen-brown:#e0a56a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.pin{background:var(--card);border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:4px}*,:before,:after{box-sizing:border-box}body{background-color:var(--paper);background-image:linear-gradient(var(--rule) 1px, transparent 1px), linear-gradient(90deg, var(--rule) 1px, transparent 1px);color:var(--text);font-family:var(--font-ui);font-size:var(--fs-base);font-variant-numeric:tabular-nums;background-size:20px 20px;margin:0;line-height:1.5}h1,h2,h3{margin:0}.hand{font-family:var(--font-hand);color:var(--ink);font-weight:700;line-height:1}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only,.tool-label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;background:var(--card);border:1.5px solid var(--ink);color:var(--ink);border-radius:4px;padding:8px 12px;font-weight:600;text-decoration:none;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.btn{border:1.5px solid var(--ink);background:var(--card);min-height:36px;color:var(--ink);font-size:var(--fs-sm);white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-weight:600;line-height:1.2;display:inline-flex}.btn:disabled{opacity:.6;cursor:progress}.btn-primary{width:100%;min-height:44px;font-size:var(--fs-base);background:var(--ink);color:var(--paper);box-shadow:3px 3px 0 var(--text);transition:transform 80ms ease-out,box-shadow 80ms ease-out}.btn-primary:hover:not(:disabled){box-shadow:4px 4px 0 var(--text);transform:translate(-1px,-1px)}.btn-primary:active:not(:disabled){box-shadow:0 0 0 var(--text);transform:translate(3px,3px)}.btn-quiet{background:0 0}.btn-quiet:hover:not(:disabled){background:var(--card)}.select{appearance:none;border:1.5px solid var(--ink);background-color:var(--card);background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);min-height:36px;color:var(--text);font:inherit;font-size:var(--fs-sm);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-repeat:no-repeat;background-size:5px 5px;border-radius:4px;padding:6px 28px 6px 10px;font-weight:500}.form-error{border:1.5px solid var(--red);background:var(--card);color:var(--red);font-size:var(--fs-sm);border-radius:4px;margin:0;padding:8px 10px;font-weight:500}.login{min-height:100dvh;padding:40px max(16px, env(safe-area-inset-right)) 56px max(16px, env(safe-area-inset-left));align-content:center;justify-items:center;gap:20px;display:grid}.login-mark{margin:0;font-size:64px;transform:rotate(-3deg)}.login-card{gap:16px;width:min(380px,100%);padding:24px 24px 28px;display:grid}.login-title{font-size:22px;font-weight:700;line-height:1.2}.field{gap:4px;display:grid}.field label{font-size:var(--fs-sm);font-weight:600}.field input{border:1.5px solid var(--soft);background:var(--card);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:4px;padding:8px 12px;font-size:16px}.field input:hover{border-color:var(--ink)}.field input:focus-visible{border-color:var(--ink);outline-offset:1px}.login-note{margin:0;line-height:1.5}.login-fail{justify-items:start;gap:8px;display:grid}.login-card>.btn-quiet{justify-self:start;text-decoration:none}.login-card .field input[aria-invalid=true]{border-color:var(--red)}.form-ok{border:1.5px solid var(--ink);background:var(--card);font-size:var(--fs-sm);border-radius:4px;margin:0;padding:8px 10px;font-weight:500}.account{gap:16px;max-width:440px;display:grid}.account-title{font-size:22px;font-weight:700;line-height:1.2}.account-card{gap:16px;padding:24px 24px 28px;display:grid}.account-heading{font-size:18px;font-weight:700}.account-card .field input[aria-invalid=true]{border-color:var(--red)}.shell{min-height:100dvh}.shell-bar{z-index:10;padding:8px max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));padding-top:max(8px, env(safe-area-inset-top));background:var(--paper);border-bottom:1.5px solid var(--ink);justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.wordmark{border-radius:4px;padding:0 2px;font-size:30px;text-decoration:none}.shell-tools{align-items:center;gap:6px;min-width:0;display:flex}.shell-tools .btn,.shell-tools .select{min-height:34px;font-size:var(--fs-xs);padding-block:4px}.shell-tools .btn{padding-inline:8px}.who{margin:0;display:none}.tool-account{justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.tool-account .nav-icon{width:18px;height:18px}.tool-account-text,.tool-lang .long{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell-nav{z-index:10;background:var(--card);border-top:1.5px solid var(--ink);padding:4px max(8px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px, env(safe-area-inset-left));position:fixed;inset:auto 0 0}.shell-nav ul{grid-auto-columns:1fr;grid-auto-flow:column;margin:0;padding:0;list-style:none;display:grid}.nav-link{min-height:52px;color:var(--soft);text-align:center;border-radius:4px;justify-items:center;gap:2px;padding:6px 4px;font-size:12px;font-weight:500;line-height:1.2;text-decoration:none;display:grid}.nav-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.nav-text{padding:0 5px}.nav-full{display:none}.nav-link[aria-current=page]{color:var(--text);font-weight:600}.nav-link[aria-current=page] .nav-icon{color:var(--ink)}.nav-link[aria-current=page] .nav-text{color:#262b38;background:linear-gradient(transparent 6%, var(--hl) 6%, var(--hl) 94%, transparent 94%);border-radius:2px}.shell-main{padding:24px max(16px, env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.shell-main:focus{outline:none}@media (width>=1100px){.shell{grid-template-columns:200px minmax(0,1fr);display:grid}.shell-bar{background:0 0;border-bottom:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;height:100dvh;padding:28px 16px 24px 24px}.wordmark{align-self:flex-start;margin-bottom:20px;font-size:36px}.shell-nav{background:0 0;border-top:0;padding:0;position:static}.shell-nav ul{grid-auto-flow:row;gap:2px}.nav-link{min-height:0;font-size:var(--fs-base);text-align:left;padding:6px;display:block}.nav-link:hover{color:var(--text)}.nav-icon{display:none}.nav-text{padding:1px 5px}.nav-full{display:inline}.nav-short{display:none}.shell-tools{flex-direction:column;align-items:stretch;gap:8px;margin-top:auto}.shell-tools .btn,.shell-tools .select{font-size:var(--fs-sm)}.who{border-bottom:1px solid var(--rule);color:var(--soft);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;padding:0 6px 6px;display:block;overflow:hidden}.tool-account{justify-content:flex-start}.tool-account-text,.tool-lang .long{clip:auto;width:auto;height:auto;position:static;overflow:visible}.tool-lang .short{display:none}.tool-theme{gap:4px;display:grid}.tool-theme .tool-label{clip:auto;width:auto;height:auto;color:var(--soft);font-size:var(--fs-xs);margin:0;padding:0 6px;font-weight:500;position:static;overflow:visible}.shell-main{padding:36px 40px 64px}}.page{grid-template-columns:minmax(0,1fr);gap:20px;min-width:0;max-width:960px;display:grid}.page-title{font-size:var(--fs-hand-lg)}.empty-slot{border:1.5px dashed color-mix(in srgb, var(--ink) 55%, transparent);min-height:160px;color:var(--soft);border-radius:4px;place-items:center;margin:0;padding:24px;font-weight:500;display:grid}.note-card{justify-self:start;margin:0;padding:10px 14px;font-weight:500}.admin{gap:16px;display:grid}.admin-tabs ul{border-bottom:1px solid var(--rule);flex-wrap:wrap;gap:4px 14px;margin:0;padding:0 0 6px;list-style:none;display:flex}.admin-tab{color:var(--soft);font-size:var(--fs-sm);border-radius:2px;padding:1px 5px;font-weight:600;text-decoration:none;display:inline-block}.admin-tab:hover{color:var(--text)}.admin-tab[aria-current=page]{color:#262b38;background:linear-gradient(transparent 6%, var(--hl) 6%, var(--hl) 94%, transparent 94%)}.page-wide{max-width:1240px}.btn-inline{width:auto;text-decoration:none}.ingredients{gap:14px}.ing-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;display:flex}.ing-title{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.ing-count{color:var(--soft);font-size:var(--fs-sm);margin:0;font-weight:500}.ing-filters{flex-wrap:wrap;align-items:center;gap:10px 18px;display:flex}.ing-search{flex:280px;max-width:460px}.search-input{border:1.5px solid var(--ink);background:var(--card);width:100%;min-height:42px;color:var(--text);font:inherit;border-radius:4px;padding:8px 12px;font-size:16px}.search-input::placeholder{color:var(--soft)}.search-input:focus-visible{outline-offset:1px}.toggle{min-height:36px;font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:8px;font-weight:600;display:inline-flex}.toggle input{width:18px;height:18px;accent-color:var(--ink);cursor:pointer;margin:0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1.5px solid var(--ink);background:var(--card);min-height:32px;color:var(--ink);font-size:var(--fs-xs);white-space:nowrap;border-radius:4px;padding:3px 10px;font-weight:600}.chip:hover{background:color-mix(in srgb, var(--ink) 8%, var(--card))}.chip[aria-pressed=true]{background:var(--ink);color:var(--paper)}.ing-empty{align-content:center;gap:12px}.ing-empty p{margin:0}.ing-sheet{transition:opacity .15s ease-out;overflow-x:auto}.ing-sheet.is-stale{opacity:.6}.ing-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.ing-table th,.ing-table td{text-align:left;vertical-align:top;padding:8px 10px}.ing-table thead th{color:var(--soft);font-size:var(--fs-xs);white-space:nowrap;padding-block:6px;font-weight:600}.ing-table thead tr:last-child th{border-bottom:1.5px solid var(--ink)}.ing-group th,.ing-group td{padding-bottom:0}.ing-table .num-group{text-align:center;border-bottom:1.5px solid color-mix(in srgb, var(--ink) 45%, transparent);padding-bottom:2px}.ing-table .num{text-align:right;white-space:nowrap}.ing-table tbody tr{border-top:1px solid var(--rule);cursor:pointer}.ing-table tbody tr:first-child{border-top:0}.ing-table tbody tr:hover{background:color-mix(in srgb, var(--ink) 6%, var(--card))}.ing-table tbody th{font-weight:600}.ing-link{color:var(--text);border-radius:2px;text-decoration:none}.ing-table tbody tr:hover .ing-link{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.c-uk,.c-section{color:var(--soft)}.c-section{white-space:nowrap}.c-name{min-width:140px}.c-issues{min-width:220px}.nil:before{content:"–";color:var(--soft)}.src{border:1.5px solid var(--ink);color:var(--ink);border-radius:3px;padding:0 5px;font-size:12px;font-weight:600;line-height:1.5;display:inline-block}.src-manual{border-style:dashed;border-color:var(--soft);color:var(--soft)}.issues{flex-wrap:wrap;gap:4px 6px;margin:0;padding:0;list-style:none;display:flex}.issue{border:1.5px solid var(--red);color:var(--red);white-space:nowrap;border-radius:3px;padding:0 5px;font-size:12px;font-weight:600;line-height:1.5;transform:rotate(-1.5deg)}.issue:nth-child(2n){transform:rotate(1deg)}.is-inactive{color:var(--soft)}.is-inactive>*{opacity:.7}.is-inactive .ing-link{color:var(--soft);text-decoration:line-through}.tag-merged{border:1.5px dashed var(--soft);color:var(--soft);border-radius:3px;margin-left:8px;padding:0 5px;font-size:12px;font-weight:600;line-height:1.5;display:inline-block}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;display:flex}.pager-pos{color:var(--soft);font-size:var(--fs-sm);margin:0;font-weight:500}@media (width<=759px){.chips{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-16px;padding:2px 16px 6px;overflow-x:auto}.ing-search{flex-basis:100%;max-width:none}.ing-head{align-items:flex-start}.ing-title{gap:6px;display:grid}.ing-head .btn-inline{flex:none;min-height:40px;margin-top:2px}.ing-sheet{position:relative;overflow:hidden}.ing-table,.ing-table tbody{display:block}.ing-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.ing-table tbody tr{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px 8px;padding:10px 12px 12px;display:grid}.ing-table tbody th,.ing-table tbody td{padding:0}.c-name{min-width:0;font-size:var(--fs-base);grid-area:1/1/2/4}.c-source{grid-area:1/4/2/6;justify-self:end}.c-uk{grid-area:2/1/3/4}.c-section{text-align:right;grid-area:2/4/3/6;justify-self:end}.ing-table .c-nut{text-align:left;grid-row:3;margin-top:6px}.c-nut:before{content:attr(data-label);color:var(--soft);font-size:12px;font-weight:500;display:block}.c-issues{grid-area:4/1/5/-1;min-width:0}.c-issues:not(:empty){margin-top:8px}}.editor{gap:18px}.new-ingredient{max-width:820px}.back-link{color:var(--soft);font-size:var(--fs-sm);justify-self:start;font-weight:600;text-decoration:none}.back-link:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.ed-head{gap:6px;display:grid}.ed-head .page-title{overflow-wrap:anywhere}.is-struck{text-decoration:line-through;text-decoration-thickness:2px}.ed-meta{font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.ed-uk{font-weight:600}.ed-usage{color:var(--soft)}.ed-grid{gap:20px;display:grid}.ed-main{gap:20px;min-width:0;display:grid}.ed-side{align-content:start;gap:16px;display:grid}@media (width>=1000px){.ed-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px}.ed-side{position:sticky;top:24px}.ed-side:has(.is-changing){position:static}}.ed-sec form,.ed-sec{min-width:0}.ed-sec-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;padding:14px 18px 0;display:flex}.ed-sec-head h2{font-size:var(--fs-lg);font-weight:700}.unsaved{color:#262b38;font-size:var(--fs-xs);background:linear-gradient(transparent 12%, var(--hl) 12%, var(--hl) 88%, transparent 88%);padding:0 4px;font-weight:600}.ed-sec-body{gap:14px;padding:12px 18px 16px;display:grid}.ed-sec>form>.pen-note{margin:0 18px 12px}.ed-sec-foot{border-top:1px dashed var(--rule);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:10px 18px 12px;display:flex}.saved-note{color:var(--ink);font-size:var(--fs-sm);align-items:center;gap:4px;margin:0 0 0 auto;font-weight:600;display:inline-flex}.tick{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.btn-save{min-height:38px;font-size:var(--fs-sm);padding-inline:18px}.btn-save:disabled{opacity:1;cursor:default;border-color:color-mix(in srgb, var(--soft) 50%, transparent);color:var(--soft);box-shadow:none;background:0 0}.ed-row2{gap:12px 16px;display:grid}@media (width>=640px){.ed-row2{grid-template-columns:repeat(2,minmax(0,1fr))}}.ed-field{align-content:start;gap:4px;display:grid}.ed-field label,.ed-label{font-size:var(--fs-sm);margin:0;font-weight:600}.ed-input{border:1.5px solid var(--soft);background:var(--card);width:100%;min-height:40px;color:var(--text);font:inherit;border-radius:4px;padding:6px 10px;font-size:16px}.ed-input:hover{border-color:var(--ink)}.ed-input:focus-visible{border-color:var(--ink);outline-offset:1px}.ed-input[aria-invalid=true]{border-color:var(--red)}.ed-select{width:100%;min-height:40px;font-size:16px}.field-error{color:var(--red);font-size:var(--fs-xs);margin:0;font-weight:600}.field-hint{color:var(--soft);font-size:var(--fs-xs);margin:0}.ed-empty{color:var(--soft);font-size:var(--fs-sm);margin:0}.ed-toggle{gap:2px;display:grid}.pen-notes{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pen-note{border:1.5px solid var(--red);background:var(--card);color:var(--red);font-size:var(--fs-sm);border-radius:4px;margin:0;padding:6px 10px;font-weight:500}.pen-note a{color:inherit;text-underline-offset:3px;font-weight:700}.pen-note-aside{font-weight:400}.ed-aliases{gap:8px;display:grid}.alias-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.alias{border:1.5px solid var(--ink);background:var(--card);min-height:30px;color:var(--ink);font-size:var(--fs-xs);border-radius:4px;align-items:center;gap:2px;padding:1px 9px;font-weight:600;display:inline-flex}.alias:has(.alias-x){padding-right:2px}.alias-x{width:26px;height:26px;color:var(--soft);background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:inline-grid}.alias-x:hover{color:var(--red)}.alias-x svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:12px;height:12px}.alias-add{gap:8px;max-width:440px;display:flex}.nut-rows{display:grid}.nut-row{border-top:1px solid var(--rule);grid-template-columns:minmax(120px,160px) 104px minmax(0,1fr);align-items:center;gap:4px 14px;padding:6px 0;display:grid}.nut-row:first-child{border-top:0}.nut-row label{font-size:var(--fs-sm);font-weight:600}.nut-input{text-align:right;font-variant-numeric:tabular-nums}.nut-row .field-error{grid-column:2/-1}.nut-state{font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;gap:2px 8px;display:flex}.nut-from,.nut-src{color:var(--soft)}.tag-edited{border:1.5px dashed var(--ink);color:var(--ink);border-radius:3px;padding:0 5px;font-weight:600;line-height:1.5}.conv-table{border-collapse:collapse;font-size:var(--fs-sm);justify-self:start}.conv-table th{color:var(--soft);font-size:var(--fs-xs);text-align:left;padding:0 12px 4px 0;font-weight:600}.conv-table td{vertical-align:top;padding:4px 12px 4px 0}.conv-unit{min-width:132px;min-height:40px;font-size:16px}.conv-grams{color:var(--soft);align-items:center;gap:6px;display:inline-flex}.conv-grams .ed-input{width:96px}.conv-x{padding-top:11px!important}.conv-add{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.conv-add .chips{flex-wrap:wrap;margin:0;padding:0;overflow:visible}.chip-dashed{border-style:dashed}.ed-density{max-width:420px}.ed-density .ed-input{width:120px}.side-card{gap:8px;padding:14px 16px 16px;display:grid}.side-card h2{font-size:var(--fs-base);font-weight:700}.side-card p{margin:0}.sf-name{margin:0;font-weight:600;line-height:1.3}.sf-de{color:var(--soft);font-size:var(--fs-xs)}.sf-tags{color:var(--soft);font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;display:flex}.sf-nut{font-size:var(--fs-sm);margin:0;display:grid}.sf-nut div{border-top:1px solid var(--rule);justify-content:space-between;gap:8px;padding:3px 0;display:flex}.sf-nut div:first-child{border-top:0}.sf-nut dt{color:var(--soft)}.sf-nut dd{margin:0;font-weight:600}.credit{color:var(--soft);margin:0;font-size:12px}.merge-card{border:1.5px dashed color-mix(in srgb, var(--ink) 55%, transparent);border-radius:4px}.merge-card .btn{justify-self:start}.merged-note{justify-items:start;gap:10px;max-width:560px;padding:16px 18px;display:grid}.merged-note p{margin:0}.merged-title{border:1.5px dashed var(--soft);color:var(--soft);font-size:var(--fs-xs);border-radius:3px;padding:0 5px;font-weight:600}.pick-list{border:1.5px solid var(--rule);background:var(--card);border-radius:4px;max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.pick-list li+li{border-top:1px solid var(--rule)}.pick{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:0 10px;padding:8px 10px;display:grid}.pick:hover{background:color-mix(in srgb, var(--ink) 6%, var(--card))}.pick:has(input:checked){background:color-mix(in srgb, var(--hl) 40%, var(--card))}.pick input{accent-color:var(--ink);align-self:center;margin:0}.pick-name{font-weight:600;line-height:1.3}.pick-sub{color:var(--soft);font-size:var(--fs-xs);grid-area:2/2}.pick-meta{color:var(--soft);font-size:var(--fs-xs)}.sf-list{max-height:420px}.sf-form{color:var(--soft)}.sf-form.is-raw{color:var(--text);font-weight:600}.sf-macros{grid-area:1/3/span 2;align-self:center;gap:12px;display:flex}.sf-macro{text-align:right;min-width:34px;display:grid}.sf-macro-label{color:var(--soft);white-space:nowrap;font-size:12px}.sf-macro-val{font-size:var(--fs-sm);font-weight:600}.sf-pick{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto}.sf-pick .pick-sub{grid-column:1}.sf-pick .sf-macros{grid-column:2}.sf-pick:focus-visible{outline:2px solid var(--ink);outline-offset:-3px}.sf-search.is-compact .sf-search-input{flex-basis:100%}.sf-search.is-compact .sf-pick{grid-template-columns:minmax(0,1fr)}.sf-search.is-compact .sf-macros{grid-area:3/1;margin-top:4px}.sf-search.is-compact .sf-macro{text-align:left}.sf-change-open{justify-self:start}.sf-change{gap:10px;display:grid}.sf-confirm-q{font-weight:600;line-height:1.3}.sf-confirm-q:focus{outline:none}.sf-confirm-q:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.sf-diff del{color:var(--soft);-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);font-weight:400;text-decoration-thickness:1.5px}.sf-diff ins{color:var(--ink);text-decoration:none}.sf-change-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.mode-switch{flex-wrap:wrap;gap:8px;display:flex}.mode{border:1.5px solid var(--ink);background:var(--card);min-height:38px;color:var(--ink);font-size:var(--fs-sm);cursor:pointer;border-radius:4px;align-items:center;padding:6px 14px;font-weight:600;display:inline-flex;position:relative}.mode input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.mode:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.mode.is-on{background:var(--ink);color:var(--paper)}.sf-search{gap:10px;display:grid}.sf-search-bar{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;display:flex}.sf-search-input{flex:260px;gap:4px;display:grid}.sf-search-bar .chips{margin:0;padding:0;overflow:visible}.sf-picked{border:1.5px solid var(--ink);background:color-mix(in srgb, var(--hl) 16%, var(--card));border-radius:4px;gap:10px;padding:12px 14px;display:grid}.sf-picked-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sf-picked-head p{margin:0}.sf-picked section{gap:4px;display:grid}.sf-picked .sf-nut{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.sf-picked .sf-nut div{border-top:0;padding:0;display:grid}.sf-picked .sf-nut dt{font-size:12px}.new-actions{justify-content:flex-end;display:flex}.new-actions .btn-primary{padding-inline:22px}.modal-backdrop{z-index:50;background:color-mix(in srgb, var(--paper) 78%, transparent);place-items:start center;padding:8vh 16px 24px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{gap:10px;width:min(560px,100%);padding:20px 20px 18px;display:grid}.modal-title{overflow-wrap:anywhere;font-size:20px;font-weight:700;line-height:1.25}.merge-preview{border-top:1.5px dashed var(--rule);gap:6px;margin-top:4px;padding-top:12px;display:grid}.merge-preview h3{font-size:var(--fs-base);font-weight:700}.merge-preview p{font-size:var(--fs-sm);margin:0}.move-units{font-size:var(--fs-sm);margin:0;padding-left:18px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px 10px;margin-top:6px;display:flex}@media (width<=759px){.ed-sec-head,.ed-sec-body,.ed-sec-foot{padding-inline:14px}.ed-sec>form>.pen-note{margin-inline:14px}.nut-row{grid-template-columns:minmax(0,1fr) 104px;grid-template-areas:"label input""state input""error error";row-gap:0}.nut-row label{grid-area:label}.nut-row .nut-input{grid-area:input}.nut-state{grid-area:state}.nut-row .field-error{grid-area:error;margin-top:4px}.pick{grid-template-columns:auto minmax(0,1fr)}.sf-macros{grid-area:3/2;margin-top:4px}.sf-pick{grid-template-columns:minmax(0,1fr)}.sf-pick .sf-macros{grid-column:1}.sf-macro{text-align:left}.sf-picked .sf-nut{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-backdrop{padding-top:16px}}.rec-selects{flex-wrap:wrap;gap:10px 16px;display:flex}.rec-field{min-width:0;color:var(--soft);font-size:var(--fs-xs);gap:3px;font-weight:600;display:grid}.rec-select{border:1.5px solid var(--ink);background:var(--card);min-width:160px;max-width:100%;min-height:40px;color:var(--text);font:inherit;border-radius:4px;padding:6px 10px;font-size:16px}.bulk-bar{background:color-mix(in srgb, var(--hl) 28%, var(--card));flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 12px;display:flex}.bulk-count{font-size:var(--fs-sm);margin:0 auto 0 0;font-weight:700}.rec-table .r-sel{width:36px;padding-right:0}.rec-check{width:18px;height:18px;accent-color:var(--ink);cursor:pointer;margin:0}.rec-table tbody tr{cursor:default}.rec-name{overflow-wrap:anywhere;display:block}.rec-name-uk{color:var(--soft);font-weight:500;display:block}.r-meals{color:var(--soft)}.rec-tags{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.rec-tag{border:1.5px solid var(--rule);border-radius:3px;padding:0 6px;font-size:12px;font-weight:600;line-height:1.5}.rec-incomplete{white-space:normal;margin-left:8px;display:inline-block}.r-vis{white-space:nowrap}.rec-restore{min-height:32px;margin-left:8px;padding-block:2px}.tag-table .t-actions{flex-wrap:wrap;justify-content:flex-end;gap:2px 4px;display:flex}.tag-table .t-actions .btn{min-height:32px;font-size:var(--fs-sm);padding:2px 8px}.tag-table .t-uk{color:var(--soft)}.tag-edit td{background:color-mix(in srgb, var(--hl) 14%, var(--card))}.tag-form{flex-wrap:wrap;align-items:end;gap:10px 14px;display:flex}.tag-form .rec-field{flex:200px}.tag-form .form-error{flex-basis:100%;margin:0}.tag-form-actions{gap:8px;display:flex}@media (width<=759px){.rec-selects .rec-field{flex:140px}.rec-select{width:100%;min-width:0}.ing-table.rec-table tbody tr{grid-template-columns:28px minmax(0,1fr) auto;gap:2px 10px;padding:10px 12px 12px}.rec-table .r-sel{grid-area:1/1/3/2;width:auto;padding-top:2px}.rec-table .r-name{min-width:0;font-size:var(--fs-base);grid-area:1/2/2/3}.rec-table .r-vis{white-space:normal;text-align:right;grid-area:1/3/2/4;justify-self:end}.rec-table .r-meals{grid-area:2/2/3/4}.rec-table .r-tags{grid-area:3/2/4/4}.rec-table .r-tags:not(:has(*)){display:none}.rec-table .r-time{text-align:left;grid-area:4/2/5/3;margin-top:6px}.rec-table .r-kcal{text-align:right;grid-area:4/3/5/4;margin-top:6px}.rec-table .r-time:before,.rec-table .r-kcal:before{content:attr(data-label);color:var(--soft);font-size:12px;font-weight:500;display:block}.rec-table .rec-incomplete{width:max-content;max-width:100%;margin:4px 0 0 auto;display:block}.ing-table.tag-table tbody tr{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px}.tag-table .t-en{font-size:var(--fs-base);grid-area:1/1/2/2}.tag-table .t-count{text-align:right;grid-area:1/2/2/3}.tag-table .t-uk{grid-area:2/1/3/3}.tag-table .t-actions{grid-area:3/1/4/3;justify-content:flex-start;margin-top:6px}.ing-table.tag-table tbody tr.tag-edit,.tag-edit td{display:block}}.rec-text{resize:vertical;line-height:1.45;display:block}.rec-num{text-align:right;font-variant-numeric:tabular-nums;width:96px}.rec-chips{margin:0;padding:0;overflow:visible}.rec-add{min-height:36px;color:var(--ink);justify-self:start}.rec-link{color:var(--ink);font:inherit;font-size:var(--fs-xs);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.rec-servings{flex-wrap:wrap;align-items:end;gap:8px 16px;display:flex}.rec-written-for{gap:2px;min-width:0;padding-bottom:8px;display:grid}.rec-written-for p{margin:0}.rec-written-for mark{color:#262b38;background:linear-gradient(transparent 12%, var(--hl) 12%, var(--hl) 88%, transparent 88%);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 4px;font-weight:600}.rec-icon{width:30px;height:30px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:3px;place-items:center;padding:0;display:inline-grid}.rec-icon:hover:not(:disabled){background:color-mix(in srgb, var(--ink) 10%, transparent)}.rec-icon:disabled{color:color-mix(in srgb, var(--soft) 45%, transparent);cursor:default}.rec-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.rec-remove{color:var(--soft)}.rec-remove:hover:not(:disabled){color:var(--red);background:0 0}.rec-move{align-content:start;display:grid}.rec-lines,.rec-steps{margin:0;padding:0;list-style:none;display:grid}.rec-line{border-top:1px solid var(--rule);grid-template-columns:30px minmax(0,1fr) auto auto 30px;grid-template-areas:"move what qty optional remove""move note note note note";align-items:center;gap:6px 12px;padding:8px 0;display:grid}.rec-line:first-child{border-top:0}.rec-line .rec-move{grid-area:move;align-self:start}.rec-line-what{flex-wrap:wrap;grid-area:what;align-items:baseline;gap:2px 10px;min-width:0;display:flex}.rec-line-what .field-error{flex-basis:100%}.rec-line-name{overflow-wrap:anywhere;font-weight:600}.rec-line-qty{flex-wrap:wrap;grid-area:qty;justify-content:flex-end;gap:4px 8px;display:flex}.rec-line-qty .field-error{text-align:right;flex-basis:100%;max-width:220px}.rec-unit{width:112px;min-height:40px;font-size:16px}.rec-line-optional{font-size:var(--fs-xs);grid-area:optional}.rec-line .rec-remove{grid-area:remove}.rec-line-note{grid-area:note;gap:4px;display:grid}.rec-line-note .ed-input{min-height:34px;font-size:var(--fs-sm);padding-block:3px}.rec-step{border-top:1px solid var(--rule);grid-template-columns:30px minmax(0,1fr) 30px;gap:12px;padding:12px 0;display:grid}.rec-step:first-child{border-top:0;padding-top:0}.rec-step-body{gap:10px;min-width:0;display:grid}.rec-save .saved-note{margin:0}.rec-save .saved-note:empty{display:none}.rec-save .btn-save{width:100%}.picker{gap:10px;min-width:0;display:grid}.picker .rec-link{justify-self:start}.picker .ed-sec{border:0;border-top:1px dashed var(--rule);box-shadow:none;border-radius:0}.picker .ed-sec-head,.picker .ed-sec-body{padding-inline:0}.picker .ed-main{gap:4px}@media (width<=759px){.rec-line{grid-template-columns:30px minmax(0,1fr) 30px;grid-template-areas:"move what remove""move qty qty""move optional optional""move note note"}.rec-line-qty{justify-content:flex-start}.rec-line-qty .field-error{text-align:left;max-width:none}.rec-unit{flex:112px}}.imp-lede{max-width:62ch;color:var(--soft);margin:4px 0 0}.imp-used{color:var(--soft);font-size:var(--fs-xs);font-weight:500}.imp-names{font-size:var(--fs-sm);overflow-wrap:anywhere;gap:4px;margin:0;padding-left:18px;font-weight:600;display:grid}.imp-names .pen-notes{margin-top:4px}.imp-stamp{background:var(--card);white-space:nowrap;border:1.5px solid;border-radius:3px;flex:none;justify-self:start;padding:0 6px;font-size:12px;font-weight:700;line-height:1.5;transform:rotate(-2deg)}.imp-stamp-ready,.imp-stamp-committed{color:var(--ink2)}.imp-stamp-duplicate{color:var(--ink)}.imp-stamp-invalid{color:var(--red)}.imp-stamp-needs_ingredients,.imp-stamp-draft{background:var(--hl);color:#262b38;border-color:#262b38}.imp-stamp-discarded,.imp-stamp-undone{color:var(--soft)}.imp-new{max-width:760px}.imp-form{gap:16px;display:grid}.imp-paste{width:100%;min-height:220px;font-size:var(--fs-sm)}.imp-drop{border:1.5px dashed color-mix(in srgb, var(--ink) 55%, transparent);border-radius:4px;gap:6px;padding:14px 16px;display:grid}.imp-drop.is-over{background:color-mix(in srgb, var(--hl) 45%, transparent)}.imp-drop label{font-size:var(--fs-sm);font-weight:600}.imp-drop input{max-width:100%;font:inherit;font-size:var(--fs-sm)}.imp-drop .field-hint{margin:0}.imp-files{font-size:var(--fs-sm);gap:4px;margin:0;padding-left:22px;display:grid}.imp-files li::marker{color:var(--soft)}.imp-file-name{overflow-wrap:anywhere;margin-right:10px}.imp-form-actions{justify-content:flex-end;display:flex}.imp-tally{flex-wrap:wrap;gap:4px 22px;margin:6px 0 0;display:flex}.imp-tally div{align-items:baseline;gap:6px;display:flex}.imp-tally dd{color:var(--ink);font-size:var(--fs-lg);order:-1;margin:0;font-weight:700}.imp-tally dt{color:var(--soft);font-size:var(--fs-sm);font-weight:500}.imp-panels{align-items:start;gap:20px;display:grid}.imp-rows{margin:0;padding:0;list-style:none;display:grid}.imp-row{border-top:1px solid var(--rule);gap:6px;min-width:0;padding:10px 0;display:grid}.imp-row:first-child{border-top:0;padding-top:0}.imp-row:last-child{padding-bottom:0}.imp-row-name{overflow-wrap:anywhere;margin:0}.imp-picks{flex-wrap:wrap;gap:6px;display:flex}.imp-picks .chip:disabled{opacity:.55;cursor:default}.imp-sources{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.imp-sources-label{font-size:var(--fs-xs);color:var(--soft)}.imp-sources-note{margin:0}.imp-source{white-space:normal;overflow-wrap:anywhere;text-align:left;max-width:100%}.imp-source:disabled{opacity:.55;cursor:default}.imp-row .pen-note p{margin:0}.imp-row .pen-note p+p{margin-top:2px}.imp-skipped{gap:2px;margin:0;padding:0;list-style:none;display:grid}.imp-conv{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.imp-conv .imp-row-name{flex:180px;min-width:0}.imp-conv .btn{min-height:40px}.imp-cards{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));align-items:start;gap:18px;margin:0;padding:0;list-style:none;display:grid}.imp-card{gap:8px;min-width:0;padding:12px 14px 14px;display:grid}.imp-card.is-out{border:1.5px dashed color-mix(in srgb, var(--ink) 55%, transparent);background:color-mix(in srgb, var(--card) 55%, transparent);border-radius:4px}.imp-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.imp-card-head h3{min-width:0;font-size:var(--fs-lg);overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.25}.imp-meta{color:var(--soft);font-size:var(--fs-sm);margin:0}.imp-nut{font-size:var(--fs-sm);flex-wrap:wrap;gap:2px 16px;margin:0;display:flex}.imp-nut dt{color:var(--soft);font-size:12px}.imp-nut dd{margin:0;font-weight:600}.imp-card .field-hint{margin:0}.imp-path{overflow-wrap:anywhere}.imp-dup{border-top:1px solid var(--rule);gap:8px;padding-top:8px;display:grid}.imp-dup-why{font-size:var(--fs-sm);margin:0}.imp-open{color:var(--ink);font-size:var(--fs-xs);text-underline-offset:3px;font-weight:600}.imp-choice{border:0;gap:6px;min-width:0;margin:0;padding:0;display:grid}.imp-choice legend{color:var(--soft);font-size:var(--fs-xs);padding:0 0 6px;font-weight:600}.imp-choice .mode{min-height:36px;padding:4px 10px}.imp-target{font-size:var(--fs-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 12px;display:flex}.imp-target label{cursor:pointer;align-items:center;gap:8px;min-width:0;min-height:32px;display:inline-flex}.imp-target input{accent-color:var(--ink);flex:none;margin:0}.imp-details summary{color:var(--ink);font-size:var(--fs-sm);cursor:pointer;font-weight:600}.imp-details[open] summary{margin-bottom:6px}.imp-details .pen-notes{margin-top:8px}.imp-lines{font-size:var(--fs-sm);gap:2px;margin:0;padding:0;list-style:none;display:grid}.imp-lines li{overflow-wrap:anywhere;grid-template-columns:84px minmax(0,1fr);gap:10px;display:grid}.imp-qty{color:var(--soft);text-align:right}.imp-nomatch{background:var(--hl);color:#262b38;font-size:var(--fs-xs);padding:0 3px;font-style:normal;font-weight:600}.imp-commit{flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 14px;display:flex}.imp-commit-note{color:var(--soft);font-size:var(--fs-sm);flex:240px;margin:0}.imp-commit-error{flex-basis:100%;margin:0}.imp-result{max-width:760px}.imp-see{justify-self:start}.imp-batches{margin:0;padding:0;list-style:none}.imp-batches.is-stale{opacity:.6}.imp-batch{border-top:1px solid var(--rule);grid-template-columns:96px minmax(0,1fr) auto;align-items:start;gap:6px 14px;padding:12px 14px;display:grid}.imp-batch:first-child{border-top:0}.imp-batch-what{min-width:0;font-size:var(--fs-sm)}.imp-batch-what p{margin:0}.imp-batch-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px 6px;display:flex}.imp-batch-actions .btn{min-height:34px;font-size:var(--fs-sm);padding-block:2px}@media (width>=760px){.imp-commit{bottom:calc(70px + env(safe-area-inset-bottom));z-index:5;position:sticky}}@media (width>=1100px){.imp-commit{bottom:12px}}@media (width>=1000px){.imp-panels{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}@media (width<=759px){.imp-commit .btn-primary{flex:100%}.imp-form-actions .btn{width:100%}.imp-batch{grid-template-columns:minmax(0,1fr)}.imp-batch-actions{justify-content:flex-start}.imp-batch-actions:empty{display:none}}.invite-panel{gap:14px;display:grid}.invite-actions .btn-inline{width:auto}.invite-link{background:color-mix(in srgb, var(--hl) 14%, var(--card));gap:8px;max-width:640px;padding:12px;display:grid}.invite-link-label{font-weight:600;font-size:var(--fs-sm)}.invite-link-row{gap:8px;display:flex}.invite-link-input{min-width:0;font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--fs-sm);flex:1}.invite-link .btn-inline{width:auto;min-width:120px}.invite-link .field-hint,.invite-link .form-ok{margin:0}.invite-link .invite-copied:empty{border:0;padding:0}.invite-table tbody tr{cursor:default}.invite-table .i-actions{text-align:right}.invite-table .i-actions .btn{min-height:32px;font-size:var(--fs-sm);padding:2px 8px}.invite-status{font-weight:600}.invite-status-open{color:var(--ink)}.invite-status-used,.invite-status-cancelled,.invite-status-expired{color:var(--soft);font-weight:500}.household-invite{gap:8px;margin-top:28px;display:grid}.household-invite .field-hint{margin:0}@media (width<=759px){.ing-table.invite-table tbody tr{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px}.invite-table .i-what{font-size:var(--fs-base);grid-area:1/1/2/2}.invite-table .i-status{text-align:right;grid-area:1/2/2/3}.invite-table td[data-label]{color:var(--soft);grid-column:1/3;gap:8px;display:flex}.invite-table td[data-label]:before{content:attr(data-label);min-width:6.5em}.invite-table .i-actions{text-align:left;grid-column:1/3}}.library{gap:18px}.lib-search{gap:6px;max-width:560px;display:grid}.lib-search .field-hint,.lib-search .form-error{margin:0}.lib-filters{gap:10px;display:grid}.lib-browse,.lib-results{gap:28px;min-width:0;display:grid}.lib-results{gap:16px}.lib-state{justify-items:start;gap:10px;display:grid}.lib-state .form-error{margin:0}.lib-section{gap:12px;display:grid}.lib-section-head{border-bottom:1.5px dashed color-mix(in srgb, var(--ink) 40%, transparent);flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding-bottom:6px;display:flex}.lib-section-title{font-size:var(--fs-hand-sm)}.lib-section-count,.lib-count{color:var(--soft);font-size:var(--fs-sm);margin:0;font-weight:600}.lib-all{min-height:32px;color:var(--ink);font-size:var(--fs-sm);text-underline-offset:3px;align-items:center;margin-left:auto;font-weight:700;display:inline-flex}.lib-unmatched{border-left:4px solid var(--hl);background:color-mix(in srgb, var(--hl) 22%, var(--card));font-size:var(--fs-sm);margin:0;padding:8px 12px;font-weight:500}.lib-empty{align-content:center;justify-items:center;gap:12px}.lib-empty p{margin:0}.lib-more{justify-self:start}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px;padding:0 4px 4px 0;display:grid}.lib-card{align-content:start;gap:8px;min-width:0;padding:12px 14px;transition:transform .12s ease-out,box-shadow .12s ease-out;display:grid;position:relative}.lib-card:hover{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.lib-card:focus-within{outline:3px solid var(--ink);outline-offset:3px}.lib-card p{margin:0}.lib-meals{color:var(--soft);font-size:var(--fs-xs);font-weight:600}.lib-name{font-size:var(--fs-lg);overflow-wrap:anywhere;font-weight:700;line-height:1.25}.lib-link{color:var(--text);text-decoration:none}.lib-link:after{content:"";position:absolute;inset:0}.lib-link:focus-visible{outline:none}.lib-link:hover{text-underline-offset:3px;text-decoration:underline}.lib-tags{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.lib-tag{border:1.5px solid color-mix(in srgb, var(--ink) 45%, transparent);color:var(--ink);font-size:var(--fs-xs);border-radius:4px;padding:1px 7px;font-weight:600}.lib-facts{border-top:1.5px dashed color-mix(in srgb, var(--ink) 30%, transparent);color:var(--soft);font-size:var(--fs-sm);flex-wrap:wrap;align-items:baseline;gap:2px 14px;padding-top:8px;font-weight:600;display:flex}.lib-incomplete{background:color-mix(in srgb, var(--hl) 55%, transparent);color:var(--text);font-size:var(--fs-xs);padding:0 4px}@media (prefers-reduced-motion:reduce){.lib-card{transition:none}.lib-card:hover{box-shadow:3px 3px 0 var(--ink);transform:none}}.recipe-page{gap:22px;max-width:1040px}.rp-head{gap:6px;min-width:0;display:grid}.rp-head p{margin:0}.rp-head .page-title{overflow-wrap:anywhere;margin:0}.rp-meta{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.rp-time{color:var(--soft);font-size:var(--fs-sm);font-weight:600}.rp-body{grid-template-columns:minmax(0,1fr);align-items:start;gap:28px;display:grid}.rp-side,.rp-main{gap:24px;min-width:0;display:grid}@media (width>=860px){.rp-body{grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:40px}}.rp-sec{gap:12px;min-width:0;display:grid}.rp-sec-head{border-bottom:1.5px dashed color-mix(in srgb, var(--ink) 40%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding-bottom:6px;display:flex}.rp-sec>.rp-sec-title{border-bottom:1.5px dashed color-mix(in srgb, var(--ink) 40%, transparent);padding-bottom:6px}.rp-sec-title{font-size:var(--fs-hand-sm);margin:0}.rp-servings{align-items:center;gap:8px;display:flex}.rp-servings-label{color:var(--soft);font-size:var(--fs-sm);font-weight:600}.rp-step{min-width:44px;min-height:44px;padding:0;font-size:22px;line-height:1}.rp-step:disabled{opacity:.4;cursor:not-allowed}.rp-step:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.rp-servings-value{text-align:center;min-width:2ch;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;font-weight:700}.rp-ingredients{margin:0;padding:0;list-style:none;display:grid}.rp-line{border-top:1px solid var(--rule);font-size:var(--fs-base);grid-template-columns:minmax(84px,7.5em) minmax(0,1fr);gap:12px;padding:7px 0;display:grid}.rp-line:first-child{border-top:0}.rp-amount{color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:700}.rp-ing{flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0;display:flex}.rp-ing-name{overflow-wrap:anywhere}.rp-optional{background:color-mix(in srgb, var(--hl) 55%, transparent);color:var(--text);font-size:var(--fs-xs);padding:0 4px;font-weight:600}.rp-note{color:var(--soft);font-size:var(--fs-sm);flex-basis:100%}.rp-nut{gap:10px;min-width:0;margin:0 3px 3px 0;padding:12px 14px;display:grid}.rp-nut-title{font-size:var(--fs-lg);margin:0}.rp-nut p{margin:0}.rp-incomplete{justify-self:start}.rp-steps{counter-reset:rp-step;gap:14px;margin:0;padding:0;list-style:none;display:grid}.rp-step-item{counter-increment:rp-step;gap:2px;padding-left:44px;line-height:1.55;display:grid;position:relative}.rp-step-item:before{content:counter(rp-step);width:32px;color:var(--ink);font-family:var(--font-hand);font-size:var(--fs-hand-sm);text-align:center;font-weight:700;line-height:1.2;position:absolute;top:-4px;left:0}.rp-step-item p{overflow-wrap:anywhere;max-width:68ch;margin:0}.rp-step-time{color:var(--soft);font-size:var(--fs-sm);font-weight:600}.rp-notes{white-space:pre-line;overflow-wrap:anywhere;max-width:68ch;margin:0;line-height:1.55}.rp-actions{justify-items:start;gap:8px;margin-top:6px;display:grid}.rp-actions-row{flex-wrap:wrap;gap:10px;display:flex}.rp-actions .btn{min-height:44px}.rp-notice{font-size:var(--fs-sm);font-weight:600}.rp-notice:empty{display:none}.rp-actions .form-error{margin:0}.rp-eaters{gap:8px;min-width:0;display:grid}.rp-eaters .field-hint{margin:0}.rp-eater-list{margin:0;padding:0;list-style:none;display:grid}.rp-eater-list li{border-top:1px solid var(--rule);color:var(--pen,var(--text));font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;padding:7px 0;display:flex}.rp-eater-list li:first-child{border-top:0}.rp-eater-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.rp-eater-x{color:var(--soft)}.rp-eater-kcal,.rp-eater-skip{white-space:nowrap;margin-inline-start:auto}.rp-eater-skip{color:var(--soft);font-style:italic}[data-pen=blue]{--pen:var(--pen-blue)}[data-pen=green]{--pen:var(--pen-green)}[data-pen=purple]{--pen:var(--pen-purple)}[data-pen=brown]{--pen:var(--pen-brown)}.portion-stepper{justify-items:start;gap:4px;display:grid}.portion-label{font-size:var(--fs-sm);font-weight:600}.portion-controls{align-items:center;gap:4px;display:flex}.portion-btn{min-width:40px;min-height:40px;font-size:var(--fs-lg);padding:0}.portion-value{text-align:center;min-width:3.2ch;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;font-weight:600}.household{gap:18px}.household-intro{max-width:60ch;color:var(--soft);margin:0}.eater-list{gap:18px;margin:0;padding:0;list-style:none;display:grid}.eater-card{gap:14px;min-width:0;padding:14px;display:grid}.eater-head{align-items:center;gap:10px;display:flex}.pen-mark{fill:none;width:36px;height:18px;stroke:var(--pen,var(--ink));stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;flex:none}.eater-name{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.eater-name-input,.eater-add-input{border:1.5px solid var(--soft);background:var(--card);min-width:0;min-height:44px;color:var(--text);font:inherit;border-radius:4px;padding:6px 10px;font-size:16px}.eater-name-input{border-color:#0000;border-bottom-color:var(--pen,var(--soft));font-family:var(--font-hand);font-size:var(--fs-hand-sm);color:var(--pen,var(--text));border-radius:0;flex:10ch;line-height:1.1}.eater-name-input:hover,.eater-add-input:hover{border-color:var(--ink)}.eater-name-input:focus-visible,.eater-add-input:focus-visible{border-color:var(--ink);outline-offset:1px}.eater-portions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.eater-actions{flex-wrap:wrap;gap:8px;display:flex}.eater-actions .btn{min-height:40px}.eater-remove{color:var(--red);border-color:var(--red);margin-inline-start:auto}.eater-add{gap:8px;max-width:560px;display:grid}.eater-add-title{font-size:var(--fs-hand-sm);margin:0}.eater-add-row{gap:8px;display:flex}.eater-add-input{flex:1}.eater-add .btn-inline{width:auto;min-width:110px}.eater-add .field-hint{margin:0}@media (width>=700px){.eater-portions{grid-template-columns:repeat(4,minmax(0,1fr))}}.board-page{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;min-width:0;display:grid}.board-main{min-width:0}.board-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.board-week{font-size:var(--fs-lg);margin:0;font-weight:600}.wknav{gap:6px;display:flex}.wknav .btn{min-width:40px;min-height:36px}.board-empty{justify-items:start;gap:12px;max-width:520px;padding:18px;display:grid}.board-empty p{margin:0}.board-grid{grid-template-columns:78px repeat(7,minmax(0,1fr));gap:8px;display:grid}.dh{align-content:start;gap:2px;min-width:0;padding:0 2px 4px;display:grid}.dh-name{flex-wrap:wrap;align-items:baseline;gap:2px 6px;margin:0;font-weight:400;display:flex}.dn{padding:0 4px;font-size:24px}.dh-today .dn{color:var(--on-hl);background:linear-gradient(transparent 45%, var(--hl) 45%, var(--hl) 90%, transparent 90%)}.dd{color:var(--soft);font-size:var(--fs-xs)}.tots{font-size:var(--fs-xs);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:0 10px;margin:2px 0 0 4px;padding:0;font-weight:600;list-style:none;display:flex}.tots li,.pp li{color:var(--pen,var(--text))}.dh .shop{border:2px solid var(--red);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--red) 45%, transparent);color:var(--red);border-radius:4px;justify-self:start;margin:3px 0 0 4px;padding:0 7px 1px;font-size:20px;line-height:1.15;transform:rotate(-3deg)}.ml{color:var(--soft);font-size:var(--fs-xs);padding-top:10px;font-weight:600}.cell{min-width:0;min-height:92px}.empty{border:1.5px dashed color-mix(in srgb, var(--ink) 45%, transparent);width:100%;height:100%;min-height:92px;color:var(--soft);font-size:var(--fs-xs);background:0 0;border-radius:4px;justify-content:center;align-items:center;gap:4px;display:flex}.empty:hover{border-color:var(--ink);color:var(--ink)}.meal{min-width:0;height:100%;padding:8px 30px 8px 9px;position:relative}.meal-name{font-size:var(--fs-xs);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;margin:0 0 6px;font-weight:600;line-height:1.25}.meal-name a{color:inherit;-webkit-text-decoration-color:color-mix(in srgb, var(--ink) 50%, transparent);text-decoration-color:color-mix(in srgb, var(--ink) 50%, transparent);text-underline-offset:2px}.meal-name a:hover{color:var(--ink)}.meal-gone{color:var(--red);font-weight:500;display:block}.pp{font-size:var(--fs-xs);margin:0;padding:0;list-style:none}.pp li{font-variant-numeric:tabular-nums;align-items:baseline;gap:4px;display:flex}.pp-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pp-x{color:var(--soft);font-weight:400}.pp-kcal{white-space:nowrap;margin-inline-start:auto;font-weight:600}.meal-menu{position:absolute;top:2px;right:2px}.meal-menu-btn{min-width:28px;min-height:28px;color:var(--ink);font-size:var(--fs-lg);background:0 0;border:0;border-radius:3px;font-weight:700;line-height:1}.meal-menu-btn:hover,.meal-menu-btn[aria-expanded=true]{background:color-mix(in srgb, var(--ink) 12%, transparent)}.meal-menu-list{z-index:5;min-width:190px;margin:2px 0 0;padding:4px;list-style:none;position:absolute;top:100%;right:0}.meal-menu-item{width:100%;min-height:40px;color:var(--text);font-size:var(--fs-sm);text-align:start;background:0 0;border:0;border-radius:3px;padding:6px 10px}.meal-menu-item:hover{background:color-mix(in srgb, var(--hl) 45%, transparent)}.board-side{gap:8px;min-width:0;display:grid}.side-title{font-size:var(--fs-base);margin:0}.side-hint{color:var(--soft);font-size:var(--fs-xs);margin:0}.shortlist{gap:10px;margin:0;padding:0;list-style:none;display:grid}.sl{font-size:var(--fs-sm);padding:8px 10px;font-weight:600}.sl a{color:inherit}.sl{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.sl small{color:var(--soft);font-size:var(--fs-xs);font-weight:400;display:block}.grip{min-width:28px;min-height:28px;color:var(--soft);font-size:var(--fs-lg);cursor:grab;touch-action:none;background:0 0;border:0;border-radius:3px;line-height:1;position:absolute;bottom:2px;right:2px}.grip:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 12%, transparent)}.meal,.sl{cursor:grab}.meal,.sl,.grip{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.meal.is-dragging,.sl.is-dragging{opacity:.45;box-shadow:none;border-style:dashed}.cell.is-over{outline:2.5px dashed var(--ink);outline-offset:2px;background:color-mix(in srgb, var(--hl) 30%, transparent);border-radius:4px}.board-side.is-over{outline:2.5px dashed var(--ink);outline-offset:4px;background:color-mix(in srgb, var(--hl) 30%, transparent);border-radius:4px}.drag-ghost{max-width:220px;font-size:var(--fs-sm);cursor:grabbing;padding:8px 10px;font-weight:600;transform:rotate(-1.5deg)}.remove-zone{z-index:20;inset-inline:16px;border:2px dashed var(--red);background:var(--card);max-width:420px;color:var(--red);font-family:var(--font-hand);font-size:var(--fs-hand-sm);text-align:center;border-radius:4px;margin-inline:auto;padding:18px 16px;position:fixed;bottom:16px}.remove-zone.is-over{background:color-mix(in srgb, var(--red) 14%, var(--card));border-style:solid}@media (prefers-reduced-motion:no-preference){.remove-zone{animation:.15s ease-out remove-in}}@keyframes remove-in{0%{opacity:0;transform:translateY(12px)}}.sl{padding-right:34px;position:relative}.sl-off{min-width:28px;min-height:28px;color:var(--soft);font-size:var(--fs-lg);background:0 0;border:0;border-radius:3px;line-height:1;position:absolute;top:2px;right:2px}.sl-off:hover{color:var(--red);background:color-mix(in srgb, var(--red) 12%, transparent)}.side-add{justify-self:start}@media (width<=1099px){.sl{padding-right:50px}.sl-off{min-width:44px;min-height:44px}}@media (width>=1100px){.board-page{grid-template-columns:minmax(0,1fr) 210px;gap:18px}}.dialog-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.dialog-reason{margin:0}.dialog-reasons{gap:8px;margin:0;padding:0;list-style:none;display:grid}.dialog-reason[data-reason=SLOT_SHOPPED]{color:var(--red);font-weight:600}.btn-solid{background:var(--ink);color:var(--paper)}.quick-input{border:1.5px solid var(--ink);background:var(--card);min-height:44px;color:var(--text);font:inherit;border-radius:4px;padding:6px 10px;font-size:16px}.quick-filter{color:var(--soft);font-size:var(--fs-sm);margin:0}.link-btn{color:var(--ink);background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.quick-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.quick-item{border:1.5px solid var(--rule);background:var(--card);width:100%;min-height:44px;color:var(--text);text-align:start;border-radius:4px;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 10px;font-weight:600;display:flex}.quick-item:hover{border-color:var(--ink)}.quick-item small{color:var(--soft);font-variant-numeric:tabular-nums;flex:none;font-weight:400}.toast-region{z-index:40;left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));bottom:calc(80px + env(safe-area-inset-bottom));pointer-events:none;justify-items:center;display:grid;position:fixed}.toast{pointer-events:auto;border-color:var(--red);max-width:560px;box-shadow:3px 3px 0 var(--red);align-items:center;gap:12px;padding:10px 12px;display:flex}.toast p{font-size:var(--fs-sm);margin:0}@media (width>=1100px){.toast-region{bottom:24px}}.picker{gap:12px;display:grid}.picker-week{justify-content:space-between;align-items:center;gap:8px;display:flex}.picker-week .btn{min-width:44px;min-height:44px}.picker-week-label{text-align:center;font-weight:600}.picker-days,.strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.picker-day,.strip-day{border:1.5px solid var(--rule);background:var(--card);min-height:56px;color:var(--text);font-size:var(--fs-xs);border-radius:4px;place-content:center;gap:0;padding:2px 0;line-height:1.2;display:grid;position:relative}.picker-day strong,.strip-day strong{font-size:var(--fs-lg);font-variant-numeric:tabular-nums}.picker-day[aria-pressed=true],.strip-day[aria-pressed=true]{border-color:var(--ink);box-shadow:2px 2px 0 var(--ink);background:color-mix(in srgb, var(--hl) 45%, var(--card));color:var(--on-hl)}.strip-bought:after{content:"";background:var(--red);height:2px;position:absolute;inset:auto 6px 4px;transform:rotate(-3deg)}.strip-today:not([aria-pressed=true]) strong{text-decoration:underline;-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink);text-underline-offset:3px}.picker-meals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.picker-meal{border:1.5px solid var(--ink);background:var(--card);min-height:48px;color:var(--ink);border-radius:4px;font-weight:600}.picker-meal:disabled{border-color:var(--rule);color:var(--soft)}.picker-meal[aria-pressed=true]{background:color-mix(in srgb, var(--hl) 45%, var(--card));color:var(--on-hl)}.picker .field-hint{margin:0}.sheet-eaters{gap:14px;margin:0;padding:0;list-style:none;display:grid}.sheet-eaters .portion-label{color:var(--pen,var(--text));font-family:var(--font-hand);font-size:var(--fs-hand-sm);font-weight:400;line-height:1}.sheet-eaters .portion-btn{min-width:48px;min-height:48px}.phone-day{gap:12px;min-width:0;display:grid}.phone-day .dh{padding:0}.phone-day .dn{font-size:34px}.phone-day .dd,.phone-day .tots{font-size:var(--fs-sm)}.phone-meal{gap:4px;min-width:0;display:grid}.phone-meal .ml{margin:0;padding:0}.phone-day .cell,.phone-day .empty{min-height:64px}.phone-day .empty{font-size:var(--fs-base)}.meal-wide{min-height:92px;padding:10px 52px 10px 12px}.meal-wide .meal-name{font-size:var(--fs-base)}.meal-wide .pp{font-size:var(--fs-sm);gap:4px;display:grid}.meal-wide .pp li{flex-wrap:wrap}.pp-macros{color:var(--soft);font-size:var(--fs-xs);flex-wrap:wrap;flex-basis:100%;gap:0 10px;display:flex}.meal-wide .meal-menu-btn,.meal-wide .grip{min-width:44px;min-height:44px}.meal-wide .meal-menu{top:0;right:0}.meal-wide .grip{bottom:0;right:0}.meal-wide .meal-menu-item{min-height:44px}.meal-wide .meal-menu-list{z-index:6}@media (width<=1099px){.modal-backdrop-sheet{align-items:end;padding:0}.modal-backdrop-sheet .modal{width:100%;max-height:90dvh;padding-bottom:max(18px, env(safe-area-inset-bottom));box-shadow:0 -3px 0 var(--ink);border-radius:12px 12px 0 0;overflow-y:auto}.modal-backdrop-sheet .btn,.modal-backdrop-sheet .quick-item{min-height:44px}}@media (width<=1099px) and (prefers-reduced-motion:no-preference){.modal-backdrop-sheet .modal{animation:.18s ease-out sheet-up}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}@media (width<=1099px){.board-head .btn{min-width:44px;min-height:44px}}.sl-place{min-height:44px;margin-top:6px}@media (width>=1100px) and (width<=1399px){.board-page{grid-template-columns:minmax(0,1fr) 140px;gap:12px}.board-grid{grid-template-columns:62px repeat(7,minmax(0,1fr));gap:6px}.nm{font-size:0;display:inline-block}.nm:before{content:attr(data-initial);content:attr(data-initial) / "";font-size:var(--fs-xs);font-weight:700}.dn{font-size:0}.dn:before{content:attr(data-short);content:attr(data-short) / "";font-size:22px}.tots{gap:0 6px}.meal{padding-left:7px}.sl{padding-right:30px}}.wk-menu{position:relative}.wk-list{min-width:220px;max-width:calc(100vw - 32px)}.wk-list .meal-menu-item{min-height:44px}.wk-list .meal-menu-item:disabled{color:var(--soft)}.wk-form{gap:14px;margin-bottom:4px;display:grid}.wk-week .btn{min-width:44px;min-height:44px}.wk-field{gap:4px;font-weight:600;display:grid}.wk-mode{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.wk-mode legend{margin-bottom:6px;padding:0;font-weight:600}.wk-choice{border:1.5px solid var(--rule);background:var(--card);cursor:pointer;border-radius:4px;align-items:flex-start;gap:10px;min-height:44px;padding:8px 10px;display:flex}.wk-choice:has(input:checked){border-color:var(--ink);box-shadow:2px 2px 0 var(--ink);background:color-mix(in srgb, var(--hl) 45%, var(--card));color:var(--on-hl)}.wk-choice:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}.wk-choice input{width:20px;height:20px;accent-color:var(--ink);flex:none;margin:2px 0 0}.wk-choice span{gap:2px;min-width:0;display:grid}.wk-choice small{color:var(--soft);font-size:var(--fs-sm)}.wk-choice:has(input:checked) small{color:inherit}.wk-templates{gap:6px;margin:0;padding:0;list-style:none;display:grid}.wk-template{align-items:stretch;gap:6px;display:flex}.wk-template .wk-choice{flex:1;min-width:0}.wk-delete{min-width:44px;min-height:44px;font-size:var(--fs-lg)}.wk-ask{border:1.5px solid var(--red);background:var(--card);border-radius:4px;gap:8px;padding:10px;display:grid}.wk-ask p{margin:0;font-weight:600}.wk-ask-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.wk-target{font-size:var(--fs-sm,.875rem);letter-spacing:.02em;color:var(--muted,inherit);margin:0;font-weight:600}.wk-counts{font-size:var(--fs-lg);margin:0;font-weight:600}.wk-form .picker-day,.wk-form .picker-meal{min-height:56px}@media (width<=1099px){.wk-menu .btn{min-width:44px;min-height:44px}.modal-backdrop-sheet .wk-list{min-width:0;max-width:none;box-shadow:none;border:0;margin:0;position:static}}.shop-page{gap:16px;min-width:0;max-width:640px;display:grid}.shop-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.shop-week{font-size:var(--fs-lg);margin:0;font-weight:600}.dayfilter{z-index:5;background:var(--paper);border-bottom:1.5px solid var(--rule);gap:8px;padding:8px 0 10px;display:grid;position:sticky;top:0}@media (width<=1099px){.dayfilter{margin:0 -16px;padding:8px 16px 10px}}.dayfilter-all{border:1.5px solid var(--ink);background:var(--card);min-height:44px;color:var(--ink);font-size:var(--fs-base);border-radius:4px;justify-self:start;padding:6px 14px;font-weight:600}.dayfilter-all[aria-pressed=true]{background:var(--ink);color:var(--paper)}.dayfilter-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.day{border:1.5px solid var(--rule);background:var(--card);min-height:52px;color:var(--text);border-radius:4px;align-content:center;justify-items:center;gap:0;padding:4px 0;line-height:1.2;display:grid;position:relative}.day-name{color:var(--soft);font-size:var(--fs-xs)}.day-num{font-size:var(--fs-lg);font-weight:600}.day-today .day-num{color:var(--on-hl);background:linear-gradient(transparent 45%, var(--hl) 45%, var(--hl) 90%, transparent 90%);padding:0 3px}.day[aria-pressed=true]{border-color:var(--ink);box-shadow:2px 2px 0 var(--ink)}.day[aria-pressed=true] .day-name{color:var(--ink)}.day-shopped:after{content:"";background:var(--red);height:2px;position:absolute;inset:auto 6px 4px;transform:rotate(-2deg)}.shop-progress{gap:6px;display:grid}.shop-progress-text{font-size:var(--fs-lg);margin:0;font-weight:600}.shop-bar{border:1.5px solid var(--ink);background:var(--card);border-radius:3px;height:6px;overflow:hidden}.shop-bar span{background:var(--ink2);height:100%;transition:width .2s ease-out;display:block}.sec{gap:4px;display:grid}.sec-title{font-family:var(--font-hand);font-weight:700;font-size:var(--fs-hand-sm);color:var(--ink);line-height:1.1}.lines{background:var(--card);border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:4px;margin:0;padding:0;list-style:none}.line+.line{border-top:1px dashed var(--rule)}.line-label{cursor:pointer;align-items:center;gap:12px;min-height:60px;padding:8px 12px;display:flex;position:relative}.line-input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.tickbox{flex:none;place-items:center;width:44px;height:44px;margin:-4px -4px -4px -8px;display:grid}.tickbox svg{fill:none;stroke-linecap:round;stroke-linejoin:round;width:32px;height:32px}.tick-box{stroke:var(--ink);stroke-width:2px}.tick-mark{stroke:var(--ink2);stroke-width:3.2px;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .22s ease-out}.line-input:checked~.tickbox .tick-mark{stroke-dashoffset:0}.line-input:focus-visible~.tickbox{outline:2px solid var(--ink);outline-offset:0;border-radius:4px}.line-text{flex:1;gap:2px;min-width:0;display:grid}.line-name{overflow-wrap:anywhere;font-size:19px;font-weight:600;line-height:1.25}.line[data-ticked=true] .line-name,.line[data-ticked=true] .line-amount{color:var(--soft);font-weight:500}.line-notes{color:var(--soft);font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.line-tag{border:1.5px dashed var(--soft);border-radius:3px;padding:0 6px;font-weight:600}.line-amounts{text-align:end;flex:none;justify-items:end;gap:2px;display:grid}.line-amount{white-space:nowrap;font-size:19px;font-weight:700}.line-more{color:var(--on-hl);background:var(--hl);font-size:var(--fs-sm);white-space:nowrap;padding:0 4px;font-weight:700}.gone{gap:6px;display:grid}.gone-hint{color:var(--soft);font-size:var(--fs-sm);margin:0}.gone-list{border:1.5px dashed var(--soft);background:var(--card);border-radius:4px;margin:0;padding:0;list-style:none}.gone-item{justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:6px 12px;display:flex}.gone-item+.gone-item{border-top:1px dashed var(--rule)}.gone-text{min-width:0;display:grid}.gone-name{font-size:var(--fs-lg);overflow-wrap:anywhere;font-weight:600}.gone-meta{color:var(--soft);font-size:var(--fs-sm);gap:10px;display:flex}.gone-item .btn{flex:none;min-height:44px}.shop-empty{justify-items:start;gap:10px;padding:18px;display:grid}.shop-empty p{margin:0}.shop-empty-title{font-family:var(--font-hand);font-weight:700;font-size:var(--fs-hand-sm);color:var(--ink);line-height:1.1}.shop-empty .btn{min-height:44px}.shop-none{color:var(--soft);margin:0}.shop-page .wknav .btn{min-width:44px;min-height:44px}.hist-list{background:var(--card);border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:4px;margin:0;padding:0;list-style:none}.hist-item+.hist-item{border-top:1px dashed var(--rule)}.hist-link{min-height:60px;color:inherit;gap:2px;padding:8px 12px;text-decoration:none;display:grid}.hist-link:hover{background:color-mix(in srgb, var(--hl) 30%, var(--card))}.hist-when{font-size:var(--fs-hand-sm)}.hist-meta{color:var(--soft);font-size:var(--fs-base);flex-wrap:wrap;gap:2px 10px;margin:0;display:flex}.hist-cause{color:var(--text);font-weight:600}.hist-entry-head{justify-items:start;gap:2px;display:grid}.hist-entry-head .hist-when{margin:0}.hist-entry-head .btn{margin-top:8px}.line-bought{color:var(--red);border:1.5px solid var(--red);font-size:var(--fs-sm);border-radius:3px;justify-self:start;padding:0 6px;font-weight:700;transform:rotate(-1.5deg)}.shop-notice{border:1.5px dashed var(--red);color:var(--ink);font-size:var(--fs-sm);border-radius:3px;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 12px;padding:6px 10px;display:flex}.line-static .line-label{cursor:default}
