.shopping{max-width:760px;margin:0 auto}.shopping h1{overflow-wrap:anywhere;margin:10px 0 20px;font-size:clamp(1.8rem,4vw,2.4rem)}.shopping-back{color:var(--text-soft);text-underline-offset:3px;font-size:.85rem}.shopping-toolbar{align-items:center;gap:8px;margin-bottom:22px;display:flex}.shopping-toolbar:empty{display:none}.shopping-toolbar>.button{cursor:pointer;border-radius:10px;min-height:44px;font-size:.9rem}.shopping-tools{margin-inline-start:auto;position:relative}.shopping .shopping-tools>summary{color:var(--text-soft);white-space:nowrap;padding:12px;font-size:.85rem;list-style:none}.shopping-tools>summary::-webkit-details-marker{display:none}.shopping-tools[open]>summary{background:var(--surface-muted);border-radius:10px}.shopping-tools__menu{inset-inline-end:0;z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(250px,75vw);padding:6px;position:absolute;top:calc(100% + 6px);box-shadow:0 8px 28px #244a6020}.shopping-tools__menu .button{text-align:start;cursor:pointer;border:0;border-radius:8px;width:100%;padding:12px;font-size:.9rem;display:block}.shopping-tools__menu .button:hover:not(:disabled){background:var(--surface-muted)}.shopping-tools__menu .button:disabled{opacity:.4;cursor:default}.shopping-tools__menu .shopping-tools__danger{color:var(--danger-text);border-top:1px solid var(--border);border-radius:0 0 8px 8px;margin-top:4px}.shopping-progress{margin:20px 0 16px}.shopping-progress__counts{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.9rem;display:flex}.shopping-progress__counts>span{color:var(--text-soft);font-size:.8rem}.shopping-progress__track{background:#edf0ec;border-radius:4px;height:4px;margin-top:12px;overflow:hidden}.shopping-progress__track>span{border-radius:inherit;background:#87a96b;height:100%;display:block}.shopping-empty{text-align:center;background:linear-gradient(120deg,#f4fafd,#f7faf4);border:1px dashed #cfddd4;border-radius:16px;padding:32px 18px}.shopping-empty__icon{background:var(--surface);width:48px;height:48px;color:var(--accent-dark);border-radius:14px;place-items:center;font-size:2rem;display:inline-grid}.shopping-empty h2{margin:14px 0 8px;font-size:1.2rem}.shopping-empty p{color:var(--text-soft);margin:0 0 14px;font-size:.9rem;line-height:1.6}.shopping-empty a{color:var(--accent-dark);text-underline-offset:3px;font-size:.85rem}.shopping-privacy{color:var(--text-soft);margin-top:26px;font-size:.8rem}.shopping .shopping-privacy>summary{min-height:30px;font-weight:400}.shopping-privacy p{max-width:60ch;line-height:1.6}.shopping-confirm{border:1px solid var(--border);width:min(460px,100% - 32px);color:var(--text);border-radius:18px;padding:26px;box-shadow:0 20px 80px #0003}.shopping-confirm::backdrop{background:#15212c77}.shopping-confirm h2{overflow-wrap:anywhere;margin:0 0 12px;font-size:1.3rem}.shopping-confirm p{color:var(--text-soft);margin:0 0 24px;font-size:.9rem;line-height:1.6}.shopping-confirm .shopping-actions{justify-content:end}.shopping-confirm .shopping-confirm__submit{background:var(--danger-text);border-color:var(--danger-text);color:#fff}.shopping button:focus-visible,.shopping summary:focus-visible,.shopping a:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}.shopping-heading,.shopping-actions,.shopping-create,.shopping-rename{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.shopping-heading{align-items:center;margin:1rem 0}.shopping-heading h2{overflow-wrap:anywhere;flex:240px;margin:0}.shopping-field{flex-direction:column;gap:.35rem;min-width:0;display:flex}.shopping-field .input{width:100%}.shopping-field textarea{resize:vertical;min-height:5rem}.shopping-create .shopping-field,.shopping-rename .shopping-field{flex:240px}.shopping-create,.shopping-rename{margin:1rem 0}.shopping-rename[hidden],.shopping button[hidden]{display:none}.shopping-list-index,.shopping-items{margin:1rem 0;padding:0;list-style:none}.shopping-list-card{border:1px solid #dedbd5;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin:.75rem 0;padding:1rem;display:flex}.shopping-list-card__body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.shopping-list-card__body>.muted{font-size:.8rem}.shopping-list-card__delete{min-height:44px;color:var(--danger-text);cursor:pointer;border-radius:10px;flex-shrink:0;font-size:.85rem}.shopping-list-card__delete:hover{background:#fff5f4}.shopping-list-card a{overflow-wrap:anywhere;font-weight:600}.shopping-items{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:0 20px}.shopping-items:empty{display:none}.shopping-item{border-bottom:1px solid var(--border);grid-template-columns:44px minmax(0,1fr);align-items:start;padding:6px 0;display:grid}.shopping-item:last-child{border-bottom:0}.shopping-check{cursor:pointer;align-items:center;min-height:48px;display:flex}.shopping-check input{appearance:none;background:var(--surface);cursor:pointer;border:1.5px solid #a3b8c3;border-radius:6px;place-content:center;width:22px;height:22px;margin:0;display:grid}.shopping-check input:checked{background:var(--success-bg);border-color:var(--success-border)}.shopping-check input:checked:after{content:"";border:solid var(--success-text);border-width:0 0 2px 2px;width:10px;height:6px;transform:translateY(-1px)rotate(-45deg)}.shopping-check input:focus-visible,button.shopping-item-content:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}.shopping-check input:disabled{cursor:default;opacity:.6}.shopping-item-content{width:100%;min-width:0;min-height:48px;color:var(--text);font:inherit;text-align:start;background:0 0;border:0;border-radius:4px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 16px;padding:10px 0;display:grid}button.shopping-item-content{cursor:pointer}button.shopping-item-content:hover{background:var(--surface-muted)}.shopping-item-name{overflow-wrap:anywhere;font-size:1rem}.shopping-item-amount{color:var(--text-soft);text-align:end;overflow-wrap:anywhere;max-width:16ch;font-size:.95rem}.shopping-item-comment{white-space:pre-wrap;overflow-wrap:anywhere;grid-column:1/-1;font-size:.85rem}.shopping-item.is-purchased .shopping-item-name,.shopping-item.is-purchased .shopping-item-amount{color:#6f746f;text-decoration:line-through}.shopping-item.is-purchased .shopping-item-comment{color:#6f746f}.shopping-edit-hint{margin:12px 0;font-size:.8rem;line-height:1.5}.shopping-delete{color:var(--danger-text);margin-inline-start:auto}.shopping-sharing,.shopping-add-item{border:1px solid #dedbd5;border-radius:12px;margin:1rem 0;padding:1rem}.shopping-sharing:not([open]),.shopping-add-item:not([open]),.shopping-sharing>summary,.shopping-add-item>summary{display:none}.shopping summary{cursor:pointer;min-height:32px;font-weight:600}.shopping-item-form{grid-column:1/-1;grid-template-columns:2fr 1fr 1fr;gap:.75rem;padding:1rem 0;display:grid}.shopping-item-form .shopping-actions,.shopping-conflict{grid-column:1/-1}.shopping-item-form .shopping-field:has(textarea){grid-column:1/-1}.shopping-status{background:var(--surface-muted);overflow-wrap:anywhere;border-radius:10px;padding:10px 14px;font-size:.85rem;line-height:1.5}.shopping-status:empty{display:none}.shopping-count{margin-top:1.5rem;font-weight:600}.shopping-share-group+.shopping-share-group{border-top:1px solid #dedbd5;margin-top:1rem;padding-top:.5rem}.shopping-share-result{flex-wrap:wrap;align-items:end;gap:.75rem;margin-top:1rem;display:flex}.shopping-share-result .shopping-field{flex:100%}.shopping-share-group>.button{margin:.25rem .5rem .25rem 0}.shopping-recipe{background:linear-gradient(120deg,#eff8fc,#f6faf5);border:1px solid #d4e6ef;border-radius:16px;gap:16px;margin:24px 0 0;padding:22px;display:grid}.shopping-recipe__intro{align-items:start;gap:12px;display:flex}.shopping-recipe__icon{width:40px;height:40px;color:var(--accent-dark);background:var(--surface);border:1px solid #cde1ed;border-radius:12px;flex:0 0 40px;place-items:center;display:grid}.shopping-recipe__icon svg{width:24px;height:24px}.shopping-recipe__intro h3{margin:0 0 5px;font-size:1.05rem;line-height:1.35}.shopping-recipe__intro p{color:var(--text-soft);margin:0;font-size:.875rem;line-height:1.5}.shopping-recipe__controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.shopping-recipe__target{min-width:0;color:var(--text-soft);gap:6px;font-size:.8rem;font-weight:600;display:grid}.shopping-recipe__target select{background-color:var(--surface);width:100%;min-width:0;height:46px;color:var(--text);text-overflow:ellipsis;border-radius:10px;padding:10px 32px 10px 12px;font-size:.95rem;font-weight:400}.shopping-recipe__new-list[hidden]{display:none}.shopping-recipe__new-list{color:var(--text-soft);font-size:.8rem}.shopping-recipe__new-list input{border-radius:10px;height:44px}.shopping-recipe__add{cursor:pointer;border-radius:10px;gap:8px;min-height:46px;font-size:.9rem;font-weight:600}.shopping-recipe__add [data-shopping-add-icon]{font-size:1.15rem;line-height:1}.shopping-recipe__add:disabled{cursor:wait;opacity:.65}.shopping-recipe__target select:focus-visible,.shopping-recipe .button:focus-visible,.shopping-recipe a:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}.shopping-recipe__footer{color:var(--text-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;font-size:.8rem;display:flex}.shopping-recipe__note{flex:320px;line-height:1.6}.shopping-recipe__footer>a{white-space:nowrap;margin-inline-start:auto}.shopping-recipe__footer a,.shopping-recipe__feedback a{color:var(--accent-dark);text-underline-offset:3px;font-weight:600}.shopping-recipe__feedback{border-top:1px solid #cde1ed;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding-top:14px;font-size:.875rem;line-height:1.5;display:flex}.shopping-recipe__feedback p{overflow-wrap:anywhere;flex:220px;min-width:0;margin:0}.shopping-recipe__feedback a{flex-shrink:0}.shopping-recipe__feedback[hidden],.shopping-recipe__feedback a[hidden],.shopping-recipe [data-shopping-retry]:empty{display:none}.shopping-recipe[data-state=success] .shopping-recipe__feedback{color:var(--success-text)}.shopping-recipe[data-state=success] .shopping-recipe__add{background:var(--surface);color:var(--text-soft);border-color:var(--border)}.shopping-recipe[data-state=error] .shopping-recipe__feedback{color:var(--danger-text)}.shopping[aria-busy=true]{cursor:progress}@media (width<=600px){.shopping-toolbar{gap:6px}.shopping-toolbar>.button{padding-inline:12px;font-size:.8rem}.shopping .shopping-tools>summary{padding-inline:8px}.shopping-items{padding-inline:14px}.shopping-item-content{column-gap:10px}.shopping-item-amount{max-width:12ch}.shopping-item-form{grid-template-columns:1fr 1fr}.shopping-item-form>.shopping-field:first-child{grid-column:1/-1}.shopping-list-card{gap:.75rem}.shopping-recipe{padding:18px}.shopping-recipe__controls{grid-template-columns:minmax(0,1fr)}.shopping-recipe__add{width:100%}.shopping-recipe__footer{align-items:start}}
