.lsh{border-radius:var(--ds-radius-lg);background:var(--ds-bg);width:min(560px,100vw - 32px);max-height:min(800px,100dvh - 32px);color:var(--ds-text);font-family:var(--ds-font-body);font-size:var(--ds-text-base);box-shadow:var(--ds-shadow-lg);transition:transform .16s var(--ds-ease);border:0;margin:auto;padding:0;line-height:1.5;inset:0;overflow:hidden}.lsh[open]{animation:lsh-pop .32s var(--ds-ease) both;flex-direction:column;display:flex}.lsh.is-closing{animation:lsh-out .22s var(--ds-ease) both}.lsh::backdrop{background:var(--ds-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:lsh-fade .26s var(--ds-ease) both}.lsh.is-closing::backdrop{animation:lsh-fade .22s var(--ds-ease) reverse both}.lsh *,.lsh :before,.lsh :after{box-sizing:border-box}.lsh p,.lsh h2,.lsh h3{margin:0}.lsh button{color:inherit;font-family:inherit}.lsh-ico{flex-shrink:0;font-size:1.05em;line-height:1;display:inline-flex}.lsh-ico svg{display:block}.lsh-ico.is-spin svg{animation:.9s linear infinite lsh-spin}.lsh__head{align-items:center;gap:var(--ds-space-3);padding:var(--ds-space-5) var(--ds-space-5) var(--ds-space-4);display:flex;position:relative}.lsh__grab{display:none}.lsh__thumb{background:var(--ds-surface-2);width:48px;height:48px;color:var(--ds-primary-text);object-fit:cover;border-radius:14px;flex-shrink:0;place-items:center;font-size:1.3rem;display:grid}.lsh__heading{flex:1;min-width:0}.lsh__kicker{font-size:var(--ds-text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ds-primary-text);font-weight:700}.lsh__title{font-family:var(--ds-font-body);font-size:var(--ds-text-base);color:var(--ds-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.lsh__close{background:var(--ds-surface-2);width:40px;height:40px;color:var(--ds-text-2);cursor:pointer;transition:background .22s var(--ds-ease);border:0;border-radius:14px;flex-shrink:0;place-items:center;display:grid}.lsh__close:hover{background:var(--ds-border)}.lsh__body{gap:var(--ds-space-3);padding:0 var(--ds-space-5) var(--ds-space-5);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:1;display:flex;overflow-y:auto}.lsh__body>*{flex-shrink:0}.lsh__grow{flex-direction:column;flex:1;min-width:0;display:flex}.lsh__strong{font-weight:600}.lsh__servings .lsh__strong,.lsh__servings .lsh__caption{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lsh__caption{font-size:var(--ds-text-xs);color:var(--ds-text-3)}.lsh__caption--danger{color:var(--ds-danger)}.lsh__h3{font-family:var(--ds-font-body);font-size:var(--ds-text-lg);color:var(--ds-text);font-weight:600}.lsh__h3--block{margin-top:var(--ds-space-3)}.lsh__servings{align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-3) var(--ds-space-3) var(--ds-space-3) var(--ds-space-4);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface);display:flex}.lsh__round{background:var(--ds-surface-2);cursor:pointer;width:36px;height:36px;transition:transform .16s var(--ds-ease), background .22s var(--ds-ease);border:0;border-radius:12px;place-items:center;display:grid}.lsh__round:hover:not(:disabled){background:var(--ds-border)}.lsh__round:active:not(:disabled){transform:scale(.9)}.lsh__round:disabled{opacity:.4;cursor:default}.lsh__count{text-align:center;min-width:28px;font-size:var(--ds-text-lg);font-variant-numeric:tabular-nums;font-weight:600}.lsh__unit{max-width:84px;font-size:var(--ds-text-sm);color:var(--ds-text-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lsh__block-head{align-items:center;gap:var(--ds-space-3);margin-top:var(--ds-space-3);display:flex}.lsh__pill{padding:6px var(--ds-space-3);background:var(--ds-surface-2);font-size:var(--ds-text-xs);cursor:pointer;border:0;border-radius:10px;font-weight:700;color:var(--ds-primary-text)!important}.lsh__items{border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface);margin:0;padding:0;list-style:none;overflow:hidden}.lsh__items li+li{border-top:1px solid var(--ds-border)}.lsh__item{align-items:center;gap:var(--ds-space-3);width:100%;min-height:52px;padding:var(--ds-space-3) var(--ds-space-4);text-align:left;cursor:pointer;transition:background .16s var(--ds-ease);background:0 0;border:0;display:flex}.lsh__item:hover{background:var(--ds-surface-hover)}.lsh__item:focus-visible{box-shadow:inset var(--ds-focus-ring);outline:none}.lsh__box{border:2px solid var(--ds-border-strong);width:24px;height:24px;color:var(--ds-on-primary);transition:background .16s var(--ds-ease), border-color .16s var(--ds-ease);border-radius:8px;flex-shrink:0;place-items:center;font-size:.8rem;display:grid}.lsh__item.is-on .lsh__box{border-color:var(--ds-primary);background:var(--ds-primary)}.lsh__name{color:var(--ds-text);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lsh__item:not(.is-on) .lsh__name{color:var(--ds-text-3);text-decoration:line-through}.lsh__qty{text-align:right;max-width:120px;font-size:var(--ds-text-sm);font-variant-numeric:tabular-nums;color:var(--ds-text-2);flex-shrink:0;font-weight:500}.lsh__item:not(.is-on) .lsh__qty{color:var(--ds-text-3)}.lsh__tiles{gap:var(--ds-space-2);margin:0 calc(-1 * var(--ds-space-5));padding:2px var(--ds-space-5) 4px;scroll-snap-type:x proximity;scroll-padding-inline:var(--ds-space-5);scrollbar-width:none;display:flex;overflow-x:auto}.lsh__tiles::-webkit-scrollbar{display:none}.lsh__tile{width:136px;min-height:124px;padding:var(--ds-space-3);border:1.5px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface);text-align:left;cursor:pointer;scroll-snap-align:start;transition:transform .16s var(--ds-ease), border-color .16s var(--ds-ease), background .16s var(--ds-ease);flex-direction:column;flex:none;gap:2px;display:flex}.lsh__tile:hover{border-color:var(--ds-border-strong)}.lsh__tile:active{transform:scale(.97)}.lsh__tile:focus-visible{box-shadow:var(--ds-focus-ring);outline:none}.lsh__tile.is-on{border-color:var(--ds-primary);background:var(--ds-primary-soft)}.lsh__tile.is-ghost{background:var(--ds-surface-2);cursor:default;border-color:#0000;animation:1.2s ease-in-out infinite alternate lsh-pulse}.lsh__tile-top{margin-bottom:var(--ds-space-2);justify-content:space-between;align-items:flex-start;display:flex}.lsh__tile-icon{background:var(--ds-surface-2);width:40px;height:40px;color:var(--ds-primary-text);border-radius:12px;place-items:center;font-size:1.15rem;display:grid}.lsh__tile.is-on .lsh__tile-icon{background:var(--ds-surface)}.lsh__emoji{font-size:1.25rem;line-height:1}.lsh__tile-check{background:var(--ds-primary);width:22px;height:22px;color:var(--ds-on-primary);border-radius:50%;place-items:center;font-size:.7rem;display:grid}.lsh__tile-title{font-weight:600;font-size:var(--ds-text-sm);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.lsh__tile-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lsh__input{width:100%;min-height:48px;padding:0 var(--ds-space-4);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);background:var(--ds-surface);color:var(--ds-text);font-family:inherit;font-size:var(--ds-text-base)}.lsh__input:focus{border-color:var(--ds-primary);box-shadow:var(--ds-focus-ring);outline:none}.lsh__error{align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-3);border-radius:var(--ds-radius-sm);background:var(--ds-danger-soft);color:var(--ds-danger);font-size:var(--ds-text-sm);display:flex}.lsh__foot{gap:var(--ds-space-2);padding:var(--ds-space-3) var(--ds-space-5) calc(var(--ds-space-4) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--ds-border);background:var(--ds-bg);flex-direction:column;display:flex}.lsh__submit{justify-content:center;align-items:center;gap:var(--ds-space-2);border-radius:var(--ds-radius-btn);background:var(--ds-primary);width:100%;min-height:52px;font-family:inherit;font-size:var(--ds-text-base);cursor:pointer;transition:background .22s var(--ds-ease), transform .16s var(--ds-ease), opacity .22s var(--ds-ease);border:0;font-weight:600;text-decoration:none;display:flex;color:var(--ds-on-primary)!important}.lsh__submit:hover{background:var(--ds-primary-hover)}.lsh__submit:focus{outline:none}.lsh__submit:focus-visible,.lsh__ghost:focus-visible,.lsh__round:focus-visible,.lsh__pill:focus-visible,.lsh__close:focus-visible{box-shadow:var(--ds-focus-ring);outline:none}.lsh__submit:active{transform:scale(.98)}.lsh__submit:disabled{opacity:.5;cursor:not-allowed}.lsh__ghost{border-radius:var(--ds-radius-btn);min-height:48px;font-family:inherit;font-size:var(--ds-text-base);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:flex;color:var(--ds-primary-text)!important}.lsh__ghost:hover{background:var(--ds-surface-2)}.lsh__done{align-items:center;gap:var(--ds-space-3);padding-top:var(--ds-space-4);padding-bottom:var(--ds-space-6);text-align:center}.lsh__done-icon{width:80px;height:80px;margin-bottom:var(--ds-space-2);background:var(--ds-success-soft);color:var(--ds-success);animation:lsh-pop .42s var(--ds-ease) both;border-radius:26px;place-items:center;font-size:2.5rem;display:grid}.lsh__done-icon--brand{background:var(--ds-primary-soft);color:var(--ds-primary-text)}.lsh__done-title{font-family:var(--ds-font-display);font-size:var(--ds-text-xl);font-weight:600;line-height:1.3}.lsh__done-text{max-width:40ch;color:var(--ds-text-2);line-height:1.6}@media (max-width:640px){.lsh{border-radius:var(--ds-radius-lg) var(--ds-radius-lg) 0 0;width:100%;max-width:none;max-height:calc(100dvh - 24px);margin:0;inset:auto 0 0}.lsh[open]{animation:lsh-up .36s var(--ds-ease) both}.lsh.is-closing{animation:lsh-down .22s var(--ds-ease) both}.lsh__head{padding:var(--ds-space-6) var(--ds-space-4) var(--ds-space-4);touch-action:none}.lsh__grab{background:var(--ds-border-strong);border-radius:3px;width:40px;height:5px;margin-left:-20px;display:block;position:absolute;top:8px;left:50%}.lsh__body{padding:0 var(--ds-space-4) var(--ds-space-4)}.lsh__tiles{margin:0 calc(-1 * var(--ds-space-4));padding-left:var(--ds-space-4);padding-right:var(--ds-space-4);scroll-padding-inline:var(--ds-space-4)}.lsh__foot{padding-left:var(--ds-space-4);padding-right:var(--ds-space-4)}}@keyframes lsh-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes lsh-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes lsh-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes lsh-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.97)}}@keyframes lsh-fade{0%{opacity:0}to{opacity:1}}@keyframes lsh-spin{to{transform:rotate(360deg)}}@keyframes lsh-pulse{0%{opacity:1}to{opacity:.5}}@media (prefers-reduced-motion:reduce){.lsh,.lsh *,.lsh::backdrop{transition-duration:1ms!important;animation-duration:1ms!important}}
