*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #ffffff;--bg-secondary: #f5f5f5;--bg-elevated: #fafafa;--text: #111111;--text-secondary: #555555;--text-tertiary: #888888;--border: #e0e0e0;--border-strong: #cccccc;--accent: #0071e3;--accent-bg: #e8f0fe;--checked-bg: #f0f0f0;--partial-bg: #fff8e1;--partial-border: #f0c040;--done-text: #888888;--store-magn: #d32f2f;--store-smart: #1565c0;--store-spar: #2e7d32;--store-ashan: #e65100;--radius: 10px;--radius-sm: 6px;font-size:16px}@media(prefers-color-scheme:dark){:root{--bg: #111111;--bg-secondary: #1c1c1e;--bg-elevated: #2c2c2e;--text: #f0f0f0;--text-secondary: #aaaaaa;--text-tertiary: #666666;--border: #2c2c2e;--border-strong: #3a3a3c;--accent: #0a84ff;--accent-bg: #0a2540;--checked-bg: #1c1c1e;--partial-bg: #2a2000;--partial-border: #806820;--done-text: #555555}}html,body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.4;min-height:100dvh}#root{max-width:640px;margin:0 auto;padding:0 0 80px}.header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--border);padding:12px 16px 10px}.header-top{display:flex;align-items:center;gap:8px;margin-bottom:10px}.header h1{font-size:18px;font-weight:700;flex:1}.btn-reset{font-size:13px;color:var(--text-tertiary);background:none;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:5px 10px;cursor:pointer;white-space:nowrap}.btn-reset:active{opacity:.6}.progress-row{display:flex;gap:12px;margin-bottom:10px}.progress-stat{flex:1;text-align:center;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:6px 4px}.progress-stat .val{font-size:18px;font-weight:700;line-height:1.1}.progress-stat .val.success{color:#27ae60}.progress-stat .val.warn{color:#e67e22}.progress-stat .lbl{font-size:10px;color:var(--text-tertiary);margin-top:1px}.store-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:1px 0 2px}.store-tabs::-webkit-scrollbar{display:none}.tab-btn{flex-shrink:0;font-size:13px;font-weight:500;padding:5px 12px;border-radius:20px;border:1px solid var(--border-strong);background:none;color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s}.tab-btn.active{background:var(--text);color:var(--bg);border-color:var(--text)}.tab-btn:active{opacity:.7}.store-section{margin-top:4px}.store-header{display:flex;align-items:center;gap:10px;padding:12px 16px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.store-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.store-header h2{font-size:15px;font-weight:700;flex:1}.store-progress{font-size:12px;color:var(--text-tertiary)}.chevron{width:16px;height:16px;color:var(--text-tertiary);transition:transform .18s;flex-shrink:0}.chevron.open{transform:rotate(90deg)}.cat-section{margin:0 8px 4px;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.cat-header{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.cat-header h3{font-size:13px;font-weight:600;color:var(--text-secondary);flex:1}.cat-count{font-size:11px;color:var(--text-tertiary)}.item-row{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-top:1px solid var(--border);transition:background .1s}.item-row.checked{background:var(--checked-bg);opacity:.5}.item-row.partial{background:var(--partial-bg)}.checkbox-wrap{padding-top:2px;flex-shrink:0}.checkbox-wrap input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer}.item-body{flex:1;min-width:0}.item-name{font-size:14px;font-weight:500;line-height:1.3}.item-row.checked .item-name{text-decoration:line-through;color:var(--done-text)}.item-hint{font-size:11px;color:var(--text-tertiary);margin-top:2px;line-height:1.3}.item-controls{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.item-controls input[type=text]{width:80px;font-size:13px;padding:4px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);text-align:right}.item-controls input[type=text]:focus{outline:none;border-color:var(--accent)}.item-controls input[type=text]::placeholder{color:var(--text-tertiary)}.btn-partial{font-size:11px;padding:3px 8px;border-radius:20px;border:1px solid var(--partial-border);background:none;color:var(--text-secondary);cursor:pointer}.btn-partial.active{background:var(--partial-border);color:var(--text)}.remaining-row{display:flex;align-items:center;gap:6px;padding:4px 12px 8px 42px;border-top:1px dashed var(--partial-border);background:var(--partial-bg)}.remaining-row label{font-size:11px;color:var(--text-tertiary);flex-shrink:0}.remaining-row input[type=text]{flex:1;font-size:13px;padding:4px 8px;border:1px solid var(--partial-border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}.remaining-row input[type=text]:focus{outline:none;border-color:var(--accent)}.view-tabs{display:flex;gap:6px;padding:1px 0 2px}.item-chip{display:inline-flex;align-items:center;gap:4px;margin-top:3px;font-size:11px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;padding:1px 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-expand{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:16px;color:var(--text-tertiary);cursor:pointer;line-height:1}.btn-expand:active{opacity:.6}.item-accordion{border-top:1px solid var(--border);padding:8px 12px;background:var(--bg-elevated)}.price-table{width:100%;border-collapse:collapse;font-size:12px}.price-table th{text-align:left;color:var(--text-tertiary);font-weight:500;padding:3px 8px 3px 0;border-bottom:1px solid var(--border)}.price-table td{padding:5px 8px 5px 0;border-bottom:1px solid var(--border);vertical-align:top}.price-table tbody tr:last-child td{border-bottom:none}.price-table .price-row-best td{font-weight:600;color:var(--text)}.price-table .price-row-best .price-store-cell{color:inherit!important}.price-store-cell{font-weight:500}.price-note{font-style:italic;color:var(--text-tertiary);font-size:11px}.btn-edit-toggle{font-size:12px;padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:none;color:var(--accent);cursor:pointer;white-space:nowrap}.btn-edit-toggle:active{opacity:.7}.item-edit-actions{display:flex;gap:4px;flex-shrink:0}.btn-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;cursor:pointer;color:var(--text-secondary)}.btn-icon:active{opacity:.6}.btn-delete{border-color:#d32f2f;color:#d32f2f}.item-rename-input{width:100%;font-size:14px;font-weight:500;padding:2px 6px;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);outline:none}
