:root{color-scheme:light;font-family:Georgia,serif;background:#f7f4ec;color:#1f1a17}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#fffaf0 0,#f7f4ec 55%,#efe7d7)}button,input,textarea{font:inherit}.app{width:min(100%,38rem);margin:0 auto;padding:1rem .85rem 2rem}.picker-app{padding-top:1.15rem}.wordmark{margin:0;font-size:1.6rem;font-weight:500;line-height:1;text-align:left}.wordmark-button{padding:0;border:0;background:transparent;color:inherit}.wordmark-char{font-style:normal}.wordmark-lista{font-family:Snell Roundhand,Brush Script MT,cursive;font-style:italic;font-weight:500;font-size:1.42em}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.list-badge{padding-top:.18rem;color:#6f645a;font-size:.9rem;text-align:right}.list-title-area{min-width:0;display:flex;flex-direction:column;align-items:flex-end}.list-badge-button{padding:.18rem 0 0;border:0;background:transparent;cursor:text}.list-context-button{padding:.12rem 0 0;border:0;background:transparent;color:#7d7267;font-size:.74rem;text-align:right;cursor:pointer}.list-context-button:hover,.list-context-button:focus-visible{color:#4f463f;outline:none}.list-code{margin-top:.08rem;color:#9a8f84;font-size:.72rem;letter-spacing:.04em;text-align:right}.list-rename{min-width:min(12rem,46vw)}.list-rename-input{min-height:2rem;padding:.3rem .5rem;text-align:right}.list-rename-error{margin:.18rem 0 0;color:#8e3127;font-size:.76rem;text-align:right}.list-context-panel{width:min(26rem,calc(100vw - 1.2rem))}.list-context-field{width:100%}.list-context-textarea{width:100%;min-height:7rem;padding:.55rem .65rem;border:1px solid #d8cdbd;background:#fffdf8;color:#1f1a17;resize:vertical}.list-context-textarea:focus{outline:2px solid #9f8a73;outline-offset:1px}.picker-section{margin-top:.95rem}.picker-heading{margin:0 0 .45rem;color:#6f645a;font-size:.92rem;font-weight:600}.saved-lists{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.saved-list-button{width:100%;padding:.8rem .9rem;border:1px solid #d8cdbd;background:#fffcf5fa;color:#1f1a17;text-align:left}.saved-list-button:hover,.saved-list-button:focus-visible{background:#f1e9dc;outline:none}.saved-list-shell{position:relative;width:100%;-webkit-user-select:none;user-select:none;touch-action:pan-y}.saved-list-hint-layer{position:absolute;inset:0;display:flex;overflow:hidden;border-radius:.5rem;background:#c84b3d}.saved-list-delete-hint{flex:1;display:flex;align-items:center;justify-content:flex-end;padding-right:.8rem;color:#fffef8;font-weight:700}.saved-list-content{position:relative;z-index:1;transition:transform .16s ease;will-change:transform}.saved-list-content.dragging{transition:none}.auth-toggle{display:inline-grid;grid-template-columns:repeat(2,auto);gap:.2rem;padding:.2rem;border-radius:999px;background:#e2d7c7b3}.auth-toggle-button{min-width:5.2rem;padding:.45rem .8rem;border-radius:999px;background:transparent;color:#6f645a}.auth-toggle-button.is-active{background:#fffaf0;color:#1f1a17}.auth-form{display:grid;gap:.45rem;margin-top:.55rem}.auth-submit-button{width:100%}.picker-error{margin-top:.45rem}.unlock-copy{margin:0 0 .55rem;color:#6f645a;font-size:.9rem;line-height:1.35}.add-form{display:grid;grid-template-columns:1fr auto auto;gap:.45rem;margin-bottom:.55rem;align-items:start;position:relative}.input-with-suggestions{min-width:0}input[type=text]{width:100%;min-height:2.6rem;padding:.55rem .75rem;border:1px solid #c9bdab;border-radius:.5rem;background:#fffcf5f2}.add-button{min-width:2.6rem;min-height:2.6rem;padding:0;font-size:1.4rem;line-height:1}.suggestions{list-style:none;margin:.2rem 0 0;padding:.25rem;position:absolute;top:calc(100% - .1rem);left:0;right:0;grid-column:1 / -1;z-index:2;border:1px solid #d8cdbd;border-radius:.6rem;background:#fffcf5fa;box-shadow:0 .45rem 1.2rem #3a29181a;display:grid;gap:.1rem}.suggestion-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .55rem;background:transparent;color:#1f1a17;border-radius:.45rem;text-align:left}.suggestion-main{display:flex;align-items:center;gap:.35rem;min-width:0}.suggestion-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-emoji,.item-emoji{flex:0 0 auto}.suggestion-meta{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;min-width:0;flex:0 0 auto}.suggestion-note{color:#8a7f73;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:16rem}.suggestion-age{color:#8a7f73;font-size:.76rem}.suggestion-button:hover,.suggestion-button:focus-visible{background:#efe5d5;outline:none}.suggestion-button.is-disabled{background:#f1ece3;color:#8a7f73;cursor:not-allowed}.suggestion-button.is-disabled:hover,.suggestion-button.is-disabled:focus-visible{background:#f1ece3}.suggestion-count{color:#8a7f73;font-size:.82rem}.form-error{margin:-.15rem 0 .55rem;color:#8e3127;font-size:.88rem}.undo-button{min-width:2.6rem;min-height:2.6rem;padding:0;background:#fffaf0f2;color:#6a5e55;border:1px solid #d8cdbd;border-radius:.5rem;font-size:1.15rem;line-height:1}input[type=checkbox]{width:auto;margin:0}button{padding:.65rem .85rem;border:0;border-radius:.5rem;background:#1f1a17;color:#fffaf0;cursor:pointer}.list{list-style:none;padding:0;margin:0 0 .7rem;display:grid;gap:.35rem}.grouped-list{display:grid;gap:.8rem}.group-section{display:grid;gap:.35rem}.group-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.1rem .15rem 0;width:100%;border:0;background:transparent;color:#6f645a;font-size:.92rem;font-weight:600;letter-spacing:0;text-align:left;cursor:pointer}.group-header:hover,.group-header:focus-visible{color:#4f453b;outline:none}.group-label{min-width:0}.group-header-right{display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto}.group-count{flex:0 0 auto;color:#9a8f84;font-size:.74rem}.group-chevron{display:inline-block;color:#9a8f84;font-size:.9rem;line-height:1;transform:rotate(0);transition:transform .14s ease}.group-chevron.is-collapsed{transform:rotate(-90deg)}.group-items{margin-bottom:0}.group-items[hidden]{display:none}.item-row{list-style:none;position:relative;z-index:0}.item-row:has(.item-emoji-popover),.item-row:has(.item-note-input){z-index:4}.item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.55rem .75rem;border-radius:.55rem;background:#fffaf0;border:1px solid #ddd3c4}.item-emoji-area{position:relative}.item-emoji-button{width:1.5rem;min-width:1.5rem;height:1.5rem;padding:0;display:grid;place-items:center;background:transparent;color:#8a7f73}.item-emoji-button.has-emoji{color:inherit}.item-emoji-popover{position:absolute;top:calc(100% + .2rem);left:0;z-index:5;width:13.5rem;max-height:14rem;padding:.3rem;border:1px solid #d8cdbd;border-radius:.6rem;background:#fffcf5fa;box-shadow:0 .45rem 1.2rem #3a29181a;overflow-y:auto}.item-emoji-input{width:100%;min-height:2rem;margin-bottom:.25rem;padding:0;border:1px solid #d8cdbd;border-radius:.45rem;background:#fffcf5f2;text-align:center;font-size:16px}.item-emoji-menu{display:grid;grid-template-columns:repeat(6,1fr);gap:.2rem}.item-emoji-option{min-width:0;min-height:2rem;padding:0;background:transparent;color:inherit;font-size:1.1rem}.item-name-button{min-width:0;display:flex;align-items:center;gap:.3rem;padding:0;background:transparent;color:inherit;text-align:left}.item-name{line-height:1.2;overflow-wrap:anywhere}.item-note-area{min-width:8rem;display:flex;justify-content:flex-end}.item-note-button{max-width:14rem;padding:0;background:transparent;color:#8a7f73;text-align:right}.item-note-button.has-note{color:#6f645a}.item-note{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.item-note-input{width:12rem;min-height:2rem;padding:.4rem .55rem;border:1px solid #d8cdbd;border-radius:.45rem;background:#fffcf5f2;text-align:right;font-size:16px}.item.checked .item-name{color:#7c7269}.item-detail-backdrop{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1rem;background:#1f1a172e}.item-detail-panel{width:min(100%,28rem);max-height:min(100vh - 2rem,34rem);display:grid;gap:1rem;padding:1rem;border:1px solid #d8cdbd;border-radius:.55rem;background:#fffaf0;box-shadow:0 1rem 2.5rem #3a291829;overflow:auto}.item-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.item-detail-title-area{min-width:0}.item-detail-title{margin:0;font-size:1.2rem;font-weight:600;line-height:1.15}.item-detail-subtitle{margin:.2rem 0 0;color:#6f645a;font-size:.88rem}.item-detail-close{flex:0 0 auto;padding:.35rem .55rem;border:1px solid #d8cdbd;background:#fffcf5f2}.item-detail-grid{display:grid;gap:.65rem}.item-detail-field{display:grid;gap:.25rem}.item-detail-label{color:#6f645a;font-size:.8rem;font-weight:600}.item-detail-select,.item-detail-value{min-height:2.15rem;padding:.4rem .55rem;border:1px solid #d8cdbd;border-radius:.45rem;background:#fffcf5f2;color:#1f1a17}.item-detail-value{display:flex;align-items:center}.item-detail-actions{display:grid;gap:.45rem}.item-detail-action{width:100%;padding:.7rem .85rem;border:1px solid #d8cdbd;background:#f1e9dc}.item-detail-action.danger{background:#f3ddd7;color:#8e3127}.swipe-shell{position:relative;width:100%;-webkit-user-select:none;user-select:none;touch-action:pan-y}.swipe-hint-layer{position:absolute;inset:0;display:flex;overflow:hidden;border-radius:.55rem;background:#c84b3d}.swipe-delete-hint,.swipe-complete-hint{display:flex;align-items:center;color:#fffef8;font-weight:700}.swipe-delete-hint{flex:1;justify-content:flex-end;padding-right:.8rem;background:#c84b3d}.swipe-complete-hint{width:2.25rem;min-width:2.25rem;justify-content:flex-start;padding-left:.65rem;background:#2f8a53}.swipe-shell.checked-state .swipe-hint-layer{background:#2f8a53}.swipe-shell.checked-state .swipe-delete-hint{background:transparent}.swipe-content{position:relative;z-index:1;width:100%;transition:transform .16s ease;will-change:transform}.swipe-content.dragging{transition:none}.checkout-button{width:100%;min-height:2.7rem;margin-top:.1rem;border:1px solid #d7c5b4;border-radius:999px;background:#c65635;color:#fffaf0;font:inherit;font-size:.9rem;letter-spacing:.01em}.checkout-button:disabled{background:#ddd1c1;border-color:#d7c9b8;color:#877b6f;cursor:default}.empty{padding:.8rem .9rem;border-radius:.55rem;background:#fffcf5bf;border:1px dashed #d4c8b8;color:#6c625a;font-size:.92rem}@media(max-width:560px){.app{padding-top:.75rem}.suggestions{position:static;margin-top:.35rem;grid-column:1 / -1}}
